Compare commits

...

701 Commits

Author SHA1 Message Date
Jeremy Bícha
68e66259e2 releasing package gnome-shell-extensions version 47.0-3 2024-10-17 08:12:07 -04:00
Jeremy Bícha
75184584b9 Have system-monitor extension depend on gir1.2-gtop-2.0
Closes: #1085240
2024-10-17 08:10:45 -04:00
Jeremy Bícha
a8e15a36af releasing package gnome-shell-extensions version 47.0-2 2024-10-04 19:26:15 -04:00
Jeremy Bícha
6521bbf9b9 releasing package gnome-shell-extensions version 47.0-1 2024-09-14 20:13:55 -04:00
Jeremy Bícha
dfa173cdfc Remove obsolete gnome-session-classic shell wrapper hack
Closes: #726065
2024-09-14 20:13:54 -04:00
Jeremy Bícha
da954b9b63 Have gnome-classic Depend on gnome-session for now
Unfortunately I can't login without this package
installed
2024-09-14 20:13:54 -04:00
Jeremy Bícha
ad69a39c68 Split extensions into separate packages (Closes: #1081798)
Add gnome-classic package as alternative to gnome-session
to install GNOME Shell, the GNOME Classic session files,
and the extensions it needs (Closes: #777538)

Add gnome-classic-xsession package for the GNOME Classic on Xorg
session.

Gbp-Dch: Full
2024-09-14 20:13:51 -04:00
Jeremy Bícha
ca523c03e6 Update debian/copyright 2024-09-14 20:13:45 -04:00
Jeremy Bícha
9386aa35a7 New upstream release 2024-09-14 19:26:30 -04:00
Jeremy Bícha
13fa15ba61 Update upstream source from tag 'upstream/47.0'
Update to upstream version '47.0'
with Debian dir b0b43d7a1d
2024-09-14 19:26:30 -04:00
Jeremy Bícha
ec3382c6ae New upstream version 47.0 2024-09-14 19:26:26 -04:00
Florian Müllner
2716cb0b98 Bump version to 47.0
Update NEWS.
2024-09-14 18:48:33 +02:00
Irénée THIRION
6048971663 Update French translation 2024-09-12 13:06:50 +00:00
Rūdolfs Mazurs
04cab9954b Update Latvian translation 2024-09-10 19:45:49 +00:00
Dušan Kazik
cbb622a099 Update Slovak translation 2024-09-10 10:45:22 +00:00
Aefgh Threenine
f3b505867f Update Thai translation 2024-09-10 09:19:08 +00:00
Ask Hjorth Larsen
7bee509ecd Update Danish translation 2024-09-08 17:01:48 +00:00
Andi Chandler
b6ac158139 Update British English translation 2024-09-08 13:02:41 +00:00
Jeremy Bícha
862f6e7845 releasing package gnome-shell-extensions version 47~rc-1 2024-09-04 10:27:00 -04:00
Jeremy Bícha
64b9c0d057 New upstream release 2024-09-04 10:26:11 -04:00
Jeremy Bícha
94e90731ad New upstream version 47~rc 2024-09-04 10:26:10 -04:00
Jeremy Bícha
ba61172de0 Update upstream source from tag 'upstream/47_rc'
Update to upstream version '47~rc'
with Debian dir 7ee95bb06b
2024-09-04 10:26:10 -04:00
Jeremy Bícha
e3256255a4 Remove obsolete Files-Excluded 2024-09-04 10:25:39 -04:00
Andika Triwidada
9af1a79434 Update Indonesian translation 2024-09-03 23:36:50 +00:00
Daniel
fa9e2dc71c Updated Spanish translation 2024-09-03 11:26:45 +02:00
Aurimas Černius
e94f10ac16 Update Lithuanian translation 2024-09-02 19:41:25 +00:00
Fran Dieguez
0319c6e8cb Update Galician translation 2024-09-02 18:16:21 +00:00
Alexander Shopov
fe1ae49dbe Update Bulgarian translation 2024-09-02 08:50:17 +00:00
twlvnn kraftwerk
353598e6d8 Update Bulgarian translation
(cherry picked from commit a99515feef)
2024-09-02 08:47:25 +00:00
Florian Müllner
36266e5a5a Bump version to 47.rc
Update NEWS.
2024-09-01 13:55:50 +02:00
Florian Müllner
f7a371c0bf ci: Update ci-fairy include 2024-09-01 13:55:50 +02:00
Sabri Ünal
018815d9e9 Update Turkish translation 2024-09-01 11:09:10 +00:00
Piotr Drąg
82fd82b30c Update Polish translation 2024-08-31 13:42:26 +00:00
Daniel Șerbănescu
26f5e23faa Update Romanian translation 2024-08-30 14:12:48 +00:00
Hugo Carvalho
0989cb3836 Update Portuguese translation 2024-08-30 10:28:12 +00:00
Changwoo Ryu
c55df7c239 Update Korean translation 2024-08-29 23:33:05 +00:00
Jürgen Benvenuti
9a840c437c Update German translation 2024-08-29 18:07:10 +00:00
Anders Jonsson
f33a833f7c Update Swedish translation 2024-08-29 11:18:17 +00:00
Quentin PAGÈS
7c284b6bdc Update Occitan translation 2024-08-27 08:35:49 +00:00
Rafael Fontenelle
6af5cbe4e0 Update Brazilian Portuguese translation 2024-08-26 15:50:33 +00:00
Danial Behzadi
5d6c2a3008 Update Persian translation 2024-08-26 08:50:08 +00:00
Asier Sarasua Garmendia
7ffe7b9aec Update Basque translation 2024-08-25 08:19:43 +00:00
Brage Fuglseth
2e912861f1 Update Norwegian Bokmål translation 2024-08-24 20:22:09 +00:00
Brage Fuglseth
f8ac973802 Update Norwegian Bokmål translation 2024-08-24 20:03:23 +00:00
Luming Zh
5bb15ae1cf Update Chinese (China) translation 2024-08-24 05:32:51 +00:00
Vasil Pupkin
34f379f6c7 Update Belarusian translation 2024-08-23 13:00:34 +00:00
Daniel Rusek
14d6920dd3 Update Czech translation 2024-08-23 12:32:38 +00:00
Jiri Grönroos
3d1c253369 Update Finnish translation 2024-08-23 11:07:46 +00:00
Yuri Chornoivan
b5dd68d6f2 Update Ukrainian translation 2024-08-23 09:33:47 +00:00
Jordi Mas i Hernandez
93c2c408be Update Catalan translation 2024-08-20 05:40:09 +00:00
Ekaterine Papava
c2c57c8e29 Update Georgian translation 2024-08-17 05:19:11 +00:00
Sophie Herold
9432ae260b doap: Remove marge-bot maintainer entry
marge-bot has had GNOME wide Developer access for a while, which should be sufficient.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/333>
2024-08-15 13:22:36 +00:00
Giannis Antypas
69f3132f4c Update Greek translation
(cherry picked from commit 7953cd130d)
2024-08-12 20:30:46 +00:00
Jeremy Bícha
b1326b1fd7 releasing package gnome-shell-extensions version 47~beta-1 2024-08-06 15:06:46 -04:00
Jeremy Bícha
39f4a16cfc Bump Standards Version to 4.7.0 2024-08-06 15:06:27 -04:00
Jeremy Bícha
dc8575ac89 Temporarily avoid installing the new status-icons extension
to avoid one extra breaks/replaces when I try to split
this into separate binary packages
2024-08-06 15:05:35 -04:00
Jeremy Bícha
2d56420241 New upstream release 2024-08-06 07:52:30 -04:00
Jeremy Bícha
3a32323337 Update upstream source from tag 'upstream/47_beta'
Update to upstream version '47~beta'
with Debian dir 0a144d60cf
2024-08-06 07:52:29 -04:00
Jeremy Bícha
1b0637abc0 New upstream version 47~beta 2024-08-06 07:52:24 -04:00
Daniel Șerbănescu
4ccffbb27d Update Romanian translation
(cherry picked from commit 75b1ea879b)
2024-08-05 20:05:46 +00:00
Florian Müllner
8a9aa6a818 Bump version to 47.beta
Update NEWS.
2024-08-03 19:51:04 +02:00
Jeremy Bícha
bd0e0db372 releasing package gnome-shell-extensions version 46.2-3 2024-08-01 08:57:15 -04:00
Jeremy Bícha
2d8cc4c0fb Add Breaks/Replaces gnome-shell-extension-system-monitor
because gnome-shell-extensions now provides this extension
and the gsettings schema

Closes: #1077748
Gbp-Dch: Full
2024-08-01 08:55:50 -04:00
Florian Müllner
017c6470b9 workspace-indicator: Re-fittsify workspace previews
For the window-list extension, it is important that the workspace
previews extend to the bottom edge for easier click targets.

That broke while merging the code with the workspace-indicator,
fix it again by moving the padding from the parent box into the
thumbnail children.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/327>
2024-07-31 15:01:08 +00:00
Florian Müllner
1e25fc1b5a status-icons: Add new extension
Based on an original "top-icons" extension by Adel Gadllah that
is no longer maintained.

The code has been heavily simplified and modernised, and adapted
to integrate into the top bar more seemlessly.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/194>
2024-07-31 14:42:55 +00:00
Jakub Steiner
e28215f38f window-list: Update styling
- Contemporary look. Fewer borders, thinner outlines for workspace indicators
- Lacks the designed unfocused window separators.
- Relies on https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/328

Fixes https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/421

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/330>
2024-07-31 14:37:31 +00:00
Florian Müllner
8d06bc8b64 ci: Bump image
node occasionally fails with an "Illegal instruction" error,
which hopefully has been fixed by a package update.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/331>
2024-07-31 15:49:22 +02:00
Chao-Hsiung Liao
9e475cb279 Update Chinese (Taiwan) translation
(cherry picked from commit b89a93a4fc)
2024-07-24 10:26:16 +00:00
Sabri Ünal
cbbb2d2869 Update Turkish translation 2024-07-19 15:12:16 +00:00
Jeremy Bícha
f6157394d3 releasing package gnome-shell-extensions version 46.2-2 2024-07-12 18:34:15 -04:00
Florian Müllner
c72b8b2122 window-list: Fix .focused styling
Commit 039c66e7b7 wrapped the button in a container to
animate transitions, but didn't adjust the `.focused`
styling to still apply to the button (where it is
expected) rather than the wrapper.

Fix that.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/328>
2024-07-13 00:11:19 +02:00
Florian Müllner
c302db7545 Bump version to 47.alpha
Update NEWS.
2024-06-29 14:11:12 +02:00
Florian Müllner
0554a8e97d window-list: Replace custom tooltip implementation
DashItemContainer already has support for showing a tooltip-like
label, so now that we use that for animating items, we can use
it for tooltips as well.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/325>
2024-06-29 13:43:55 +02:00
Florian Müllner
039c66e7b7 window-list: Animate buttons in and out
Buttons are currently added and removed from the list without
any transitions, which gives the list a "jumpy" feel. Instead,
do what we do elsewhere and smoothly animate additions and
removals by re-using the dash's ItemContainer class.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/325>
2024-06-29 13:43:55 +02:00
Florian Müllner
7eb00e350e window-list: Don't hide window button while unmanaging
This will allow to animate the transition.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/325>
2024-06-29 13:43:55 +02:00
Florian Müllner
f76f9e8220 window-list: Don't use homogeneous layout
We want all buttons in the window list to have the same size,
but that's already achieved via max/natural-width in the CSS.

Not enforcing the equal size via the layout manager will allow
buttons to temporarily have a different size when we start
animating additions and removals.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/325>
2024-06-29 13:13:12 +02:00
Balázs Úr
17c963b63f Update Hungarian translation 2024-06-28 14:25:44 +00:00
Yosef Or Boczko
5d45a697ce Update Hebrew translation 2024-06-28 07:34:33 +00:00
Милош Поповић
ef729f2d66 Update Serbian translation 2024-06-20 15:00:07 +00:00
Jeremy Bícha
87bfb01642 releasing package gnome-shell-extensions version 46.2-1 2024-05-28 16:19:40 -04:00
Jeremy Bícha
c74ab7aa23 New upstream release 2024-05-28 16:19:27 -04:00
Jeremy Bícha
48b00e6a0a Update upstream source from tag 'upstream/46.2'
Update to upstream version '46.2'
with Debian dir b698465cef
2024-05-28 16:19:27 -04:00
Jeremy Bícha
6b2f4e801e New upstream version 46.2 2024-05-28 16:19:26 -04:00
Artur S0
1394e82bd0 Update Russian translation 2024-05-27 10:19:22 +00:00
Florian Müllner
ae9411a23d Bump version to 46.2
Update NEWS.
2024-05-25 23:40:02 +02:00
Florian Müllner
0334834a0f ci: Hook up release-module
In the future, the module will automate uploading the release
tarball. We already use the CI pipeline to generate the tarball,
so it's easy to hook up the module and provide some testing
before the module goes into production.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/324>
2024-05-25 23:39:20 +02:00
Florian Müllner
b0ba8ca5c0 ci: Use meson introspect to generate artifact path
We currently assume that the `CI_COMMIT_TAG` variable matches the
version component of the generated dist tarball.

That is usually correct, but sometimes errors happen and a wrong
tag is pushed, and the real release uses something like "46.0-real".

Account for that by building the artifact path from `meson introspect`
and exporting it as environment variable.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/324>
2024-05-25 23:39:20 +02:00
Scrambled 777
9e61aaf08c Update Hindi translation 2024-05-25 17:17:19 +00:00
Scrambled 777
ae00cf6b4e Update Hindi translation 2024-05-25 17:01:54 +00:00
Florian Müllner
6ac76140a5 ci: Hook up release-module
In the future, the module will automate uploading the release
tarball. We already use the CI pipeline to generate the tarball,
so it's easy to hook up the module and provide some testing
before the module goes into production.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/324>
2024-05-24 15:18:59 +02:00
Florian Müllner
8c014a6b1d ci: Use meson introspect to generate artifact path
We currently assume that the `CI_COMMIT_TAG` variable matches the
version component of the generated dist tarball.

That is usually correct, but sometimes errors happen and a wrong
tag is pushed, and the real release uses something like "46.0-real".

Account for that by building the artifact path from `meson introspect`
and exporting it as environment variable.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/324>
2024-05-24 15:18:59 +02:00
Jordi Mas i Hernandez
ee730d9e29 Update Catalan translation 2024-05-23 20:59:49 +00:00
Florian Müllner
c290d7ddb3 window-list: Use getter methods for events
The underlying structs were made opaque a while ago, so direct
access to the struct fields is no longer possible.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/320>
(cherry picked from commit da90d365ec)
2024-05-23 13:18:04 +02:00
Florian Müllner
de033a04fa apps-menu: Set label_actor of Category items
Category items are based on BaseMenuItem rather than MenuItem,
so the accessible relationship isn't set up automatically for us.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/319>
(cherry picked from commit 02ff72b2f0)
2024-05-23 13:17:57 +02:00
Scrambled 777
2fe844f412 Update Hindi translation 2024-05-12 13:44:51 +00:00
Jose Riha
8185b43d54 Update Slovak translation
(cherry picked from commit 1219dfc144)
2024-05-11 22:19:20 +00:00
Jose Riha
1219dfc144 Update Slovak translation 2024-05-11 22:19:15 +00:00
Hugo Carvalho
59ab3f834d Update Portuguese translation
(cherry picked from commit dd16556530)
2024-05-04 23:22:30 +00:00
Hugo Carvalho
dd16556530 Update Portuguese translation 2024-05-04 23:22:24 +00:00
Martin
8b6835c3d6 Update Slovenian translation 2024-05-01 22:12:17 +00:00
Florian Müllner
bb5bb70ac5 Update POTFILES.in
The file is now copied at build time from the workspace-indicator
extension.

Fixes: 0c42f162 ("window-list: Use actual copy of workspace-indicator")
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/321>
2024-04-29 16:49:30 +02:00
Florian Müllner
da90d365ec window-list: Use getter methods for events
The underlying structs were made opaque a while ago, so direct
access to the struct fields is no longer possible.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/320>
2024-04-26 15:22:16 +02:00
Florian Müllner
02ff72b2f0 apps-menu: Set label_actor of Category items
Category items are based on BaseMenuItem rather than MenuItem,
so the accessible relationship isn't set up automatically for us.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/319>
2024-04-25 14:42:53 +00:00
Jordi Mas i Hernandez
9c7a086870 Update Catalan translation 2024-04-25 11:53:01 +00:00
Florian Müllner
24ba03fe96 window-list: Expose workspace preview option
Now that we have the option, the window-list should expose it
in its preference window like the workspace-indicator.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/316>
2024-04-24 14:23:22 +00:00
Florian Müllner
69d8d1a335 workspace-indicator: Make previews configurable
Now that previews scroll when there are too many workspaces,
there is no longer a reason for the 6-workspace limit.

However some users do prefer the menu, so rather than drop it,
turn it into a proper preference.

Closes
https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/336

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/316>
2024-04-24 14:23:22 +00:00
Florian Müllner
d495a2eed8 workspace-indicator: Also show previews in menu
Since the regular session also switched to horizontal workspaces,
using a vertical menu has been a bit awkward.

Now that our previews have become more flexible, we can use them
in the collapsed state as well as when embedded into the top bar.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/316>
2024-04-24 14:23:22 +00:00
Florian Müllner
6b3990457e workspace-indicator: Stop handling vertical layouts
Both the regular session and GNOME classic use a horizontal layout
nowadays, so it doesn't seem worth to specifically handle vertical
layouts anymore.

The extension will still work when the layout is changed (by some
other extension), there will simply be a mismatch between horizontal
previews and the actual layout.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/316>
2024-04-24 14:23:22 +00:00
Florian Müllner
099cff0b95 workspace-indicator: Support labels in previews
The space in the top bar is too limited to include the workspace
names. However we'll soon replace the textual menu with a preview
popover. We can use bigger previews there, so we can include the
names to not lose functionality with regards to the current menu.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/316>
2024-04-24 14:23:22 +00:00
Florian Müllner
fac7fedfd3 workspace-indicator: Handle preview overflow
We currently avoid previews from overflowing in most setups by
artificially limiting them to a maximum of six workspaces.

Add some proper handling to also cover cases where space is more
limited, and to allow removing the restriction in the future.

For that, wrap the previews in an auto-scrolling scroll view
and add overflow indicators on each side.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/316>
2024-04-24 14:23:22 +00:00
Florian Müllner
6ed1b56526 workspace-indicator: Split out WorkspacePreviews
The previews will become a bit more complex soon, so spit them out
into a dedicated class.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/316>
2024-04-24 14:23:22 +00:00
Florian Müllner
a2ffb1238f workspace-indicator: Handle active indication in thumbnail
Meta.Workspace has had an `active` property for a while now, so
we can use a property binding instead of tracking the active
workspace ourselves.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/316>
2024-04-24 14:23:22 +00:00
Florian Müllner
b55e7a4dc8 workspace-indicator: Simplify scroll handling
gnome-shell already includes a method for switching workspaces
via scroll events. Use that instead of implementing our own.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/316>
2024-04-24 14:23:22 +00:00
Florian Müllner
0c42f162d3 window-list: Use actual copy of workspace-indicator
We are now at a point where the code from the workspace-indicator
extension is usable from the window-list.

However instead of updating the copy, go one step further and
remove it altogether, and copy the required files at build time.

This ensures that future changes are picked up by both extensions
without duplicating any work.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/307>
2024-04-24 14:19:51 +00:00
Florian Müllner
01a37c8f26 export-zips: Pick up non-default stylesheets
The window-list extension is about to import the workspace-indicator
stylesheet. Explicitly pack css files, so the stylesheet is included
in the bundle.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/307>
2024-04-24 14:19:51 +00:00
Florian Müllner
5e88c7d891 workspace-indicator: Support light style
The window-list extension already includes light styling for
its copy of the workspace indicator. Just copy that over to
support the light variant here as well.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/307>
2024-04-24 14:19:51 +00:00
Florian Müllner
af23a8491c workspace-indicator: Tweak preview style
Sync sizes and padding with the window-list previews.

Tone down the colors a bit, but less then the current window-list
style where workspaces blend too much into the background and
the selection is unclear.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/307>
2024-04-24 14:19:51 +00:00
Florian Müllner
32a454f917 workspace-indicator: Include n-workspaces in status label
The two extensions currently use a slightly different label
in menu mode:
The workspace indicator uses the plain workspace number ("2"),
while the window list includes the number of workspaces ("2 / 4").

The additional information seem useful, as well as the slightly
bigger click/touch target, so copy the window-list behavior.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/307>
2024-04-24 14:19:51 +00:00
Florian Müllner
63ff5b2ac1 workspace-indicator: Simplify getting status text
Currently the same method is used to get the label text for the
indicator itself and for the menu items.

A method that behaves significantly different depending on whether
a parameter is passed is confusing, so only deal with the indicator
label and directly use the mutter API to get the workspace names
for menu items.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/307>
2024-04-24 14:19:51 +00:00
Florian Müllner
a9fff9861b workspace-indicator: Small cleanup
The code to update the menu labels is a bit cleaner in the
window-list extension, so use that.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/307>
2024-04-24 14:19:51 +00:00
Florian Müllner
89a3daf9fe workspace-indicator: Only change top bar redirect when in top bar
While this is always the case for the workspace indicator, adding
the check will allow to use the same code in the window list.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/307>
2024-04-24 14:19:51 +00:00
Florian Müllner
078a5a01ae workspace-indicator: Support showing tooltips above
The indicator is located in the top bar, so tooltips are always
shown below the previews. However supporting showing tooltips
above previews when space permits allows the same code to be
used in the copy that is included with the window-list extension.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/307>
2024-04-24 14:19:51 +00:00
Florian Müllner
9c8c3495b6 workspace-indicator: Don't use menu section
We never added anything else to the menu, so we can just operate
on the entire menu instead of an intermediate section.

This removes another difference with the window-list copy.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/307>
2024-04-24 14:19:51 +00:00
Florian Müllner
25e854dde8 workspace-indicator: Use existing property
We already track the current workspace index, use that
instead of getting it from the workspace manager again.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/307>
2024-04-24 14:19:51 +00:00
Florian Müllner
64060ef4c5 workspace-indicator: Don't use SCHEMA/KEY constants
Each constant is only used once, so all they do is disconnect
the actual value from the code that uses it.

The copy in the window-list extension just uses the strings directly,
do the same here.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/307>
2024-04-24 14:19:51 +00:00
Florian Müllner
9c97f01bc2 window-list: Handle changes to workspace menu
For now the menu is always set at construction time, however this
will change in the future. Prepare for that by handling the
`menu-set` signal, similar to the top bar.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/307>
2024-04-24 14:19:51 +00:00
Florian Müllner
8693a8a74c window-list: Externally adjust workspace menu
In order to use a PanelMenu.Button in the bottom bar, we have
to tweak its menu a bit.

We currently handle this inside the indicator, but that means the
code diverges from the original code in the workspace-indicator
extension.

Avoid this by using a small subclass that handles the adjustments.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/307>
2024-04-24 14:19:51 +00:00
Florian Müllner
47c12c6279 window-list: Override base style class
Apply the changes from the last commit to the workspace-indicator
copy, and override the base style class from the extension.

This will eventually allow us to share the exact same code between
the two extensions, but still use individual styling if necessary.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/307>
2024-04-24 14:19:51 +00:00
Florian Müllner
e96015b9ea workspace-indicator: Allow overriding base style class
This will allow reusing the code from the window-list extension
without limiting the ability to specify styling that only applies
to one of the extensions.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/307>
2024-04-24 14:19:51 +00:00
Florian Müllner
d3debab713 window-list: Use consistent style class prefix
This will eventually allow us to re-use the workspace-indicator
extension without changing anything but the used prefix.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/307>
2024-04-24 14:19:51 +00:00
Florian Müllner
00045b7396 workspace-indicator: Use descendant style selectors
Add a style class to the indicator itself, and only select
descendant elements. This allows using the briefer class names
from the window-list extension without too much risk of conflicts.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/307>
2024-04-24 14:19:51 +00:00
Florian Müllner
19877302a6 workspace-indicator: Move indicator code into separate file
Shortly after the window-list extension was added, it gained a
workspace switcher based on the workspace indicator extension.

Duplicating the code wasn't a big issue while the switcher was
a simple menu, but since it gained previews with a fair bit of
custom styling, syncing changes between the two extensions has
become tedious, in particular as the two copies have slightly
diverged over time.

In order to allow the two copies to converge again, the indicator
code needs to be separate from the extension boilerplate, so
split out the code into a separate module.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/307>
2024-04-24 14:19:51 +00:00
Florian Müllner
56a74abb8a window-list: Use more appropriate fallback icon
'icon-missing' is not an actual icon name. It somewhat works
because an invalid icon name will fallback to the correct
'image-missing', however for apps the generic app icon is
a better fallback.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/315>
2024-04-24 14:10:41 +00:00
Jeremy Bícha
421abfd1a6 releasing package gnome-shell-extensions version 46.1-2 2024-04-23 17:34:11 -04:00
Jeremy Bícha
b836faee4a Add Depends: gir1.2-gtop-2.0 for system monitor extension
LP: #2063267
2024-04-23 17:33:15 -04:00
Jeremy Bícha
48cf148c23 releasing package gnome-shell-extensions version 46.1-1 2024-04-21 16:46:27 -04:00
Jeremy Bícha
e566a22f22 New upstream release 2024-04-21 16:44:48 -04:00
Jeremy Bícha
3ea76e3ecc New upstream version 46.1 2024-04-21 16:44:47 -04:00
Jeremy Bícha
0d5685a279 Update upstream source from tag 'upstream/46.1'
Update to upstream version '46.1'
with Debian dir e1d60f69a1
2024-04-21 16:44:47 -04:00
Florian Müllner
78c3957f64 Bump version to 46.1
Update NEWS.
2024-04-21 16:34:14 +02:00
Florian Müllner
38e267ae64 screenshot-window-sizer: Add additional size
1000x700 is the maximum recommended screenshot size on flathub[0]. As
that's a primary use case of the extension, it makes sense to include
the size.

[0] https://docs.flathub.org/docs/for-app-authors/metainfo-guidelines/quality-guidelines/#reasonable-window-size

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/317>
2024-04-20 14:33:40 +00:00
Fabio Tomat
59899a211d Update Friulian translation 2024-04-16 19:03:09 +00:00
Matheus Polkorny
d3348761c3 Update Brazilian Portuguese translation 2024-03-29 11:13:45 +00:00
Rachida SACI
79a01c62bc Update Kabyle translation 2024-03-23 09:11:17 +00:00
Jeremy Bícha
d2d5629bdd releasing package gnome-shell-extensions version 46.0-1 2024-03-18 15:30:32 -04:00
Jeremy Bícha
f590df238a New upstream release 2024-03-18 15:30:17 -04:00
Jeremy Bícha
7d92287596 Update upstream source from tag 'upstream/46.0'
Update to upstream version '46.0'
with Debian dir ac78a6675d
2024-03-18 15:30:17 -04:00
Jeremy Bícha
9c08df11dc New upstream version 46.0 2024-03-18 15:30:16 -04:00
Florian Müllner
e65c561e6f Bump version to 46.0
Update NEWS.
2024-03-16 01:58:46 +01:00
Florian Müllner
6d36da1ce6 system-monitor: Fix net speed
We use different formats for values above and below 10, to only
include a fraction for the latter.

However we use the same factor to determine the format and to
compute the number to format, with the result that values above
10 are off by a factor of 10.

Address this by adding a separate "unitFactor" value for computing
the value.

Spotted by Yannick Daveluy.

Closes https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/494

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/313>
2024-03-16 00:50:59 +00:00
Ask Hjorth Larsen
cd9341adf1 Update Danish translation 2024-03-13 17:11:10 +00:00
Changwoo Ryu
13842a012b Update Korean translation 2024-03-13 10:15:22 +00:00
Athmane MOKRAOUI
f4f7d2dffb Update Kabyle translation 2024-03-12 11:27:34 +00:00
Quentin PAGÈS
87a5fc42b8 Update Occitan translation 2024-03-12 09:12:03 +00:00
Milo Casagrande
f1456002d4 Update Italian translation 2024-03-08 13:39:43 +00:00
Aral Balkan
30266011bf screenshow-window-sizer: Document keyboard shortcuts
Close https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/492

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/311>
2024-03-06 13:53:50 +01:00
Balázs Úr
5a76dedb50 Update Hungarian translation 2024-03-04 11:35:06 +00:00
Piotr Drąg
dc8ab6cf77 Update Polish translation 2024-03-03 19:05:37 +00:00
Anders Jonsson
b97efdb584 Update Swedish translation 2024-03-03 15:56:53 +00:00
Florian Müllner
a91e6aad87 Bump version to 46.rc
Update NEWS.
2024-03-03 15:39:24 +01:00
Florian Müllner
6f03ca0434 ci: Drop custom image
Since we no longer depend on sassc for classic styling, the
regular JS image from gnome-shell already includes everything
we need for the fedora jobs.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/309>
2024-03-03 15:25:24 +01:00
Florian Müllner
7a01e3e103 ci: Update to F40-based image
gnome-shell switched to F40 for its JS image, follow suit.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/309>
2024-03-03 15:10:50 +01:00
Jiri Grönroos
e539a65709 Update Finnish translation 2024-03-02 15:31:24 +00:00
Daniel Mustieles
2402c1bef5 Updated Spanish translation 2024-02-26 14:10:47 +01:00
Guillaume Bernard
1fd238b31d Update French translation 2024-02-25 12:53:54 +00:00
Rūdolfs Mazurs
21a65c1558 Update Latvian translation 2024-02-25 10:49:23 +00:00
Baurzhan Muftakhidinov
f42d1f7ca9 Update Kazakh translation 2024-02-24 18:03:25 +00:00
Brage Fuglseth
b77ecb2380 Update Norwegian Bokmål translation 2024-02-24 13:42:23 +00:00
Andi Chandler
4fc80e0ef3 Update British English translation 2024-02-23 12:23:32 +00:00
Fran Dieguez
df61f9aadf Update Galician translation 2024-02-23 09:27:53 +00:00
Kukuh Syafaat
7862bfd2aa Update Indonesian translation 2024-02-22 13:20:52 +00:00
Florian Müllner
f6c74e93b7 window-list: Replace Meta.Rectangle
It's deprecated in favor of Mtk.Rectangle, which is a drop-in
replacement.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/306>
2024-02-22 00:02:40 +00:00
Sabri Ünal
81880982b2 Update Turkish translation 2024-02-21 17:24:56 +00:00
Florian Müllner
f53984670c window-list: Fix menu ornament in workspace indicator
The default ornament is now HIDDEN, so in order to align items,
we always have set an initial ornament.

In gnome-shell 46, the expected "counter ornament" to DOT is NO_DOT
rather than NONE, so use that.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/305>
2024-02-21 00:07:15 +01:00
Florian Müllner
537530707e workspace-indicator: Fix menu ornament
The default ornament is now HIDDEN, so in order to align items,
we always have set an initial ornament.

In gnome-shell 46, the expected "counter ornament" to DOT is NO_DOT
rather than NONE, so use that.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/305>
2024-02-21 00:01:11 +01:00
Boyuan Yang
e069f391c7 Update Chinese (China) translation 2024-02-20 14:06:58 +00:00
Florian Müllner
b00f5c4604 window-list: Fix window previews
St.Bin no longer expands its child automatically. Unless do we do
explicitly, the preview actor will be allocated with a size of 0x0.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/304>
2024-02-19 19:59:54 +01:00
Florian Müllner
a326fa737e workspace-indicator: Fix window previews
St.Bin no longer expands its child automatically. Unless do we do
explicitly, the preview actor will be allocated with a size of 0x0.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/304>
2024-02-19 19:59:54 +01:00
Matej Urbančič
fcd5618321 Update Slovenian translation 2024-02-19 10:08:02 +00:00
Aurimas Černius
55e085894a Update Lithuanian translation 2024-02-18 20:38:56 +00:00
Nathan Follens
801ba69f54 Update Dutch translation 2024-02-18 16:18:10 +00:00
Brage Fuglseth
abdd839073 Update Norwegian Bokmål translation 2024-02-17 21:46:21 +00:00
Yaron Shahrabani
24a5c5fd4e Update Hebrew translation 2024-02-16 22:15:45 +00:00
Asier Sarasua Garmendia
6d49de36a8 Update Basque translation 2024-02-15 18:10:00 +00:00
Vasil Pupkin
ef3c74db8a Update Belarusian translation 2024-02-15 05:28:14 +00:00
Yuri Chornoivan
419b7fad10 Update Ukrainian translation 2024-02-13 17:43:29 +00:00
Artur S0
ad43f16a9a Update Russian translation 2024-02-13 16:33:00 +00:00
Sabri Ünal
db8b779859 Update Turkish translation 2024-02-13 13:34:13 +00:00
Ekaterine Papava
67a91f9a1d Update Georgian translation 2024-02-12 17:39:32 +00:00
Danial Behzadi
ec95dcd330 Update Persian translation 2024-02-12 16:58:42 +00:00
Danial Behzadi
b71ddd1b00 Update Persian translation 2024-02-12 16:48:40 +00:00
Florian Müllner
d6ffd7859e Bump version to 46.beta
Update NEWS.
2024-02-11 17:59:16 +01:00
Gabriel Brand
ded50f8b01 Update German translation 2024-02-08 16:36:27 +00:00
Daniel Rusek
06066be0a8 Update Czech translation 2024-02-07 14:08:50 +00:00
Florian Müllner
fb52f89cc5 system-monitor: Adjust to renamed .desktop file
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/302>
2024-02-06 20:47:44 +01:00
Allan Day
86761952c3 apps-menu: Rename Applications to Apps
Nowadays people call applications apps, and GNOME uses the latter
term rather than the former.

Closes https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/481

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/299>
2024-02-06 19:40:30 +01:00
Sabri Ünal
edc916533a Update Turkish translation 2024-02-06 18:25:32 +00:00
Yosef Or Boczko
6a7e99eb81 Update Hebrew translation 2024-02-05 19:49:02 +00:00
Artur S0
8ca1d5f3ee Update Russian translation 2024-02-05 06:31:00 +00:00
Vasil Pupkin
a3068dc145 Update Belarusian translation 2024-02-03 22:45:30 +00:00
Florian Müllner
3e9d648078 apps-menu: Stop using deprecated vscroll-bar property
The adjustments are now exposed by the view itself.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/301>
2024-02-02 19:37:39 +01:00
Florian Müllner
3e398b9a2f apps-menu: Stop setting scroll policy
The defaults are now "automatic" for vertical scrolling and "never"
for horizontal scrolling, so no need to set that explicitly.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/301>
2024-02-02 19:37:39 +01:00
Florian Müllner
3fb756687b apps-menu: Remove obsolete code
There hasn't been a `passEvents` property on menus since 2011.

Not that it hurts setting it, but it simply doesn't do anything.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/301>
2024-02-02 19:37:39 +01:00
Aefgh Threenine
93fb1a6496 Update Thai translation 2024-02-02 08:50:43 +00:00
Florian Müllner
dfa328a769 ci: Do not create pipelines for branches with open MRs
Pipelines for non-protected branches are set to 'manual', and
thus cheap. However they may still get picked by `@marge-bot`,
meaning that the bot waits for the completion of a pipeline that
never starts.

Avoid that by not creating pipelines for branches with open
merge requests.

Credit to Jordan, who came up with this for gst.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/300>
2024-02-01 16:18:03 +01:00
Fran Dieguez
90b59b6753 Update Galician translation 2024-01-23 21:19:29 +00:00
Daniel Rusek
121c9d891b Update Czech translation 2024-01-22 14:28:45 +00:00
Gabriel Brand
e6a8046d33 Update German translation 2024-01-19 22:38:30 +00:00
Florian Müllner
3cd964e60d system-monitor: Fix POTFILES entry
The gsettings schema is in a subdirectory, whoops.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/297>
2024-01-13 18:45:55 +01:00
Florian Müllner
fa8866d627 ci: Check for missing entries in POTFILES
It is a common mistake to add new translatable strings without
adding the corresponding file to POTFILES. At least for JS sources,
we have a tool we can use to catch these errors during CI.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/296>
2024-01-07 20:12:39 +01:00
Florian Müllner
bf3cb76766 ci: Update default image
We are using a fairly outdated image by now, update to the latest
image that gnome-shell produces.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/296>
2024-01-07 20:12:39 +01:00
Florian Müllner
25d02d17d2 system-monitor: Add missing files to POTFILES
The files contain translatable strings, but were not added to
POTFILES, whoops.

Spotted by Piotr (of course).

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/296>
2024-01-07 20:12:39 +01:00
Florian Müllner
ffcbf03c9c Bump version to 46.alpha
Update NEWS.
2024-01-06 22:16:52 +01:00
Jeremy Bícha
fc5611719d releasing package gnome-shell-extensions version 45.2-2 2023-12-05 12:07:54 -05:00
Jeremy Bícha
ad69ee299f Restore required dh-sequence-gnome build dependency 2023-12-05 12:07:07 -05:00
Jeremy Bícha
b912f8cd0b releasing package gnome-shell-extensions version 45.2-1 2023-12-05 10:05:36 -05:00
Jeremy Bícha
e5f43e9a90 Update standards version to 4.6.2, no changes needed.
Changes-By: lintian-brush
Fixes: lintian: out-of-date-standards-version
See-also: https://lintian.debian.org/tags/out-of-date-standards-version.html
2023-12-05 10:05:15 -05:00
Jeremy Bícha
2b7bb1798a Set upstream metadata fields: Bug-Database, Bug-Submit.
Changes-By: lintian-brush
2023-12-05 10:05:15 -05:00
Jeremy Bícha
8250b82869 Stop using debian/control.in and dh-sequence-gnome 2023-12-05 10:04:41 -05:00
Jeremy Bícha
e4183488d9 New upstream version 45.2 2023-12-05 10:03:40 -05:00
Jeremy Bícha
101ca9c738 New upstream release 2023-12-05 10:03:40 -05:00
Jeremy Bícha
7ecee1c9e6 Update upstream source from tag 'upstream/45.2'
Update to upstream version '45.2'
with Debian dir 427736dd01
2023-12-05 10:03:40 -05:00
Florian Müllner
1d7f37f420 system-monitor: Add new extension
A long time ago, we used to include a system monitor extension,
that added CPU/memory graphs to the (long gone) message tray.

However demand for this type of extensions hasn't died down, to the
point where RHEL includes a revived version of the old extension.

Account for that demand by adding a newly written system-monitor
extension that has been properly designed, and hopefully does not
bring back the CPU/memory issues of the previous one (unlikely
without the graphs) …

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/277>
2023-12-04 13:20:13 +01:00
Florian Müllner
b02e43d84c Bump version to 45.2
Update NEWS.
2023-12-01 20:15:09 +01:00
Florian Müllner
8ed3b72a56 workspace-indicator: Update visibility on window-type changes
The visibility depends on the type, so we should listen for
changes (even if the property is unlikely to change).

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/292>
(cherry picked from commit 30a15387b5)
2023-12-01 20:03:38 +01:00
Florian Müllner
a929cf9370 workspace-indicator: Don't hide previews on other monitors
Workspace thumbnails are clipped, so there's no major benefit
of hiding the actors explicitly.

On the other hand, the check is useful on size/position changes
to avoid unnecessary relayouts.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/292>
(cherry picked from commit b5b841dd38)
2023-12-01 20:03:38 +01:00
Florian Müllner
a5343c33ec window-list: Update visibility on window-type changes
The visibility depends on the type, so we should listen for
changes (even if the property is unlikely to change).

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/292>
(cherry picked from commit 071584621e)
2023-12-01 20:03:15 +01:00
Florian Müllner
8efd73c50e window-list: Don't hide previews on other monitors
Workspace thumbnails are clipped, so there's no major benefit
of hiding the actors explicitly.

On the other hand, the check is useful on size/position changes
to avoid unnecessary relayouts.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/292>
(cherry picked from commit 5c57f44838)
2023-12-01 20:03:15 +01:00
Florian Müllner
d5f617b3e2 window-list: Move additional padding into buttons
Commit ca1c4b0f9e added additional padding, which means that the
interactive area of buttons no longer extends to the bottom of
the screen.

Address this by moving the new padding into the buttons themselves.
That restores the Fittsability of the bottom bar, without affecting
the cleaner visual appearance.

Close https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/453

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/291>
2023-12-01 20:02:51 +01:00
Florian Müllner
d1ff099200 window-list: Clean up stylesheet indent
Replaces tabs with spaces.

Part-of:
<https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/291>
2023-12-01 20:02:49 +01:00
Florian Müllner
6bbc329e7b apps-menu: Use customized layout manager to limit height
To avoid continuous height changes while browsing through categories,
we let the list of categories determine the overall height, and rely
on scrolling for the list of apps within a category.

We currently achieve this by assigning a fixed height via the
`style` property. This has been found to trigger a crash when
running headless, as we end up querying an actor's height request
before a valid resource scale is available.

Instead, use a custom layout manager, which seems more elegant anyway.

Close: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/472
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/290>
(cherry picked from commit 5652182fb3)
2023-12-01 19:48:04 +01:00
Florian Müllner
ed31f08f2f apps-menu: Remove vertical separator
Ever since gnome-shell stopped using a stippled separator in the
calendar menu, the styling required by the separator has been
missing.

There haven't been any complaints about the invisible separator,
so we can just as well drop it altogether.

Part-of:
<https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/290>
(cherry picked from commit c3cbef19ac)
2023-12-01 19:48:03 +01:00
Florian Müllner
ed60502f10 apps-menu: Use stylesheet to set width
The `style` property is useful for computed CSS declarations,
but for regular styling the stylesheet is preferable.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/290>
(cherry picked from commit 8c8f990a28)
2023-12-01 19:47:16 +01:00
Florian Müllner
0fa592a516 apps-menu: Adjust to events API changes
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/290>
(cherry picked from commit f6a6bdda99)
2023-12-01 19:47:16 +01:00
Florian Müllner
30a15387b5 workspace-indicator: Update visibility on window-type changes
The visibility depends on the type, so we should listen for
changes (even if the property is unlikely to change).

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/292>
2023-12-01 19:14:26 +01:00
Florian Müllner
b5b841dd38 workspace-indicator: Don't hide previews on other monitors
Workspace thumbnails are clipped, so there's no major benefit
of hiding the actors explicitly.

On the other hand, the check is useful on size/position changes
to avoid unnecessary relayouts.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/292>
2023-12-01 19:13:42 +01:00
Florian Müllner
5f2b199627 Revert "workspace-indicator: Only initialize preview visibility on map"
It is not possible to unmap an actor from within the map vfunc,
so the fix broke the initial visibility again.

This reverts commit 25a75e1b0e.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/292>
2023-12-01 19:11:42 +01:00
Florian Müllner
071584621e window-list: Update visibility on window-type changes
The visibility depends on the type, so we should listen for
changes (even if the property is unlikely to change).

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/292>
2023-12-01 19:10:08 +01:00
Florian Müllner
5c57f44838 window-list: Don't hide previews on other monitors
Workspace thumbnails are clipped, so there's no major benefit
of hiding the actors explicitly.

On the other hand, the check is useful on size/position changes
to avoid unnecessary relayouts.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/292>
2023-12-01 19:09:30 +01:00
Florian Müllner
93741e9e1c Revert "window-list: Only initialize preview visibility on map"
It is not possible to unmap an actor from within the map vfunc,
so the fix broke the initial visibility again.

This reverts commit 8b7cfff558.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/292>
2023-12-01 19:09:30 +01:00
Florian Müllner
836f81f2e2 window-list: Move additional padding into buttons
Commit ca1c4b0f9e added additional padding, which means that the
interactive area of buttons no longer extends to the bottom of
the screen.

Address this by moving the new padding into the buttons themselves.
That restores the Fittsability of the bottom bar, without affecting
the cleaner visual appearance.

Close https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/453

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/291>
2023-12-01 12:34:20 +00:00
Florian Müllner
574638328e window-list: Clean up stylesheet indent
Replaces tabs with spaces.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/291>
2023-12-01 12:34:20 +00:00
Jonas Ådahl
e0750db1bd Mark session file as X-GDM-CanRunHeadless=true
This will make it possible to launch the session headlessly for
remote-only access.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/289>
2023-11-30 20:41:58 +00:00
Florian Müllner
5652182fb3 apps-menu: Use customized layout manager to limit height
To avoid continuous height changes while browsing through categories,
we let the list of categories determine the overall height, and rely
on scrolling for the list of apps within a category.

We currently achieve this by assigning a fixed height via the
`style` property. This has been found to trigger a crash when
running headless, as we end up querying an actor's height request
before a valid resource scale is available.

Instead, use a custom layout manager, which seems more elegant anyway.

Close: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/472
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/290>
2023-11-23 21:20:56 +01:00
Florian Müllner
c3cbef19ac apps-menu: Remove vertical separator
Ever since gnome-shell stopped using a stippled separator in the
calendar menu, the styling required by the separator has been
missing.

There haven't been any complaints about the invisible separator,
so we can just as well drop it altogether.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/290>
2023-11-23 21:15:51 +01:00
Florian Müllner
8c8f990a28 apps-menu: Use stylesheet to set width
The `style` property is useful for computed CSS declarations,
but for regular styling the stylesheet is preferable.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/290>
2023-11-23 21:13:30 +01:00
Florian Müllner
f6a6bdda99 apps-menu: Adjust to events API changes
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/290>
2023-11-23 14:25:57 +01:00
Florian Müllner
0d5d06fdd7 apps-menu: Adjust to ClutterContainer removal
The `actor-added` signal got renamed to `child-added` when
moving it to ClutterActor.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/288>
2023-11-14 16:26:06 +00:00
Florian Müllner
d10b98c4fc extensions: Stop using ClutterContainer API
The methods have long been deprecated in favor of the equivalent
ClutterActor methods, so use the latter instead.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/288>
2023-11-14 16:26:06 +00:00
Florian Müllner
8b7cfff558 window-list: Only initialize preview visibility on map
The check whether the window overlaps with the monitor the actor
is on requires the actor to be added to the stage first, so delay
the initial visibility update that was added in commit f576f1b1b6.

Fixes: f576f1b1 ("window-list: Initialize preview visibility")
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/286>
2023-11-08 16:36:59 +00:00
Florian Müllner
25a75e1b0e workspace-indicator: Only initialize preview visibility on map
The check whether the window overlaps with the monitor the actor
is on requires the actor to be added to the stage first, so delay
the initial visibility update that was added in commit b9d2a445b2.

Fixes: b9d2a445 ("workspace-indicator: Initialize preview visibility")
Closes:
https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/469

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/286>
2023-11-08 16:36:59 +00:00
Florian Müllner
91a1b8245b window-list: Remove window picker
Now that the overview is available again in the classic session,
the window picker that used to replace it is unused.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/287>
2023-11-07 17:43:18 +01:00
Florian Müllner
4abde90e82 classic: Reenable overview
Since we disabled the overview in the classic session, gnome-shell
switched to a horizontal workspace layout and replaced the activities
button with an indicator.

Those are big enough changes to reevaluate the decision, so remove
the delta with the regular session and turn it back on.

This reverts commit 82d2011061.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/287>
2023-11-07 16:38:37 +01:00
Jeremy Bícha
abf3365cc2 releasing package gnome-shell-extensions version 45.1-1 2023-11-04 12:31:37 +02:00
Jeremy Bícha
1e254c1723 New upstream release 2023-11-04 12:30:48 +02:00
Jeremy Bícha
0676c02419 Update upstream source from tag 'upstream/45.1'
Update to upstream version '45.1'
with Debian dir 81d7461a20
2023-11-04 12:30:48 +02:00
Jeremy Bícha
cb7b8e7c5a New upstream version 45.1 2023-11-04 12:30:40 +02:00
Florian Müllner
f27b239f55 Bump version to 45.1
Update NEWS.
2023-11-01 00:28:14 +01:00
Florian Müllner
7f192d0208 screenshot-window-sizer: Handle wrapping around backwards
The mod takes care of wrapping at the top, but not when
decrementing 0. Fix this by using Array.prototype.at(),
which handles negative indexes.

Close https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/467

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/284>
(cherry picked from commit dd8ee2931a)
2023-11-01 00:24:47 +01:00
Florian Müllner
eff6f6ef88 screenshot-window-sizer: Use built-in support for reversed bindings
Mutter has had explicit support for reversed bindings for a while now.
Use that, as it's more reliably than examining the modifiers manually.

Close https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/467

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/284>
(cherry picked from commit f530acbf9e)
2023-11-01 00:24:47 +01:00
Florian Müllner
dd8ee2931a screenshot-window-sizer: Handle wrapping around backwards
The mod takes care of wrapping at the top, but not when
decrementing 0. Fix this by using Array.prototype.at(),
which handles negative indexes.

Close https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/467

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/284>
2023-10-24 21:15:06 +02:00
Florian Müllner
f530acbf9e screenshot-window-sizer: Use built-in support for reversed bindings
Mutter has had explicit support for reversed bindings for a while now.
Use that, as it's more reliably than examining the modifiers manually.

Close https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/467

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/284>
2023-10-24 21:15:06 +02:00
Brage Fuglseth
7d296d2fd2 Update Norwegian Bokmål translation 2023-10-12 20:28:03 +00:00
Florian Müllner
fb858ed0e4 window-list: Complete move to connectObject()
Commit 3bfaf6f88a removed the explicit disconnect, but forgot
to use connectObject() to connect the handler.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/459
Fixes: 3bfaf6f8 ("js: Use connectObject()")
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/281>
2023-10-09 15:36:39 +02:00
Florian Müllner
f576f1b1b6 window-list: Initialize preview visibility
Otherwise we can end up showing window previews in the workspace
thumbnail that shouldn't be visible, if none of the properties we
track for updates changes.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/280>
2023-09-29 21:35:33 +02:00
Florian Müllner
b9d2a445b2 workspace-indicator: Initialize preview visibility
Otherwise we can end up showing windows that shouldn't be visible
if none of the properties we track for updates changes.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/280>
2023-09-29 21:33:04 +02:00
Florian Müllner
092b268823 drive-menu: Remove left-over signal connection
The handler itself was removed in commit 3bfaf6f88a, so the
code now fails.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/455
Fixes: 3bfaf6f8 ("js: Use connectObject()")
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/278>
2023-09-29 12:33:13 +00:00
Kristjan SCHMIDT
b64cb0f195 Update Esperanto translation 2023-09-27 20:47:58 +00:00
Florian Müllner
2510bb3625 extensions: Stop using run_dispose()
It is considered bad practice, and mainly a lazy way of disconnecting
signal handlers without tracking individual handler IDs.

We can do better by using connectObject(), which provides the same
level of convenience without the dodginess of getting behind the
garbage collector's back.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/275>
2023-09-26 15:21:41 +00:00
Florian Müllner
4fbd878208 lint: Sync with gnome-shell
gnome-shell itself no longer requires parameter descriptions in
doc comments (just type annotations). The requirement makes even
less sense for extensions, so sync up the configuration.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/276>
2023-09-26 14:30:27 +02:00
Florian Müllner
e8840da00c doap: Actually remove defunct mailing list
Fixes: e405d09c ("DOAP: Remove defunct mailing list; add Discourse")
2023-09-20 13:30:42 +02:00
Jeremy Bícha
153e100e7e releasing package gnome-shell-extensions version 45.0-1 2023-09-18 08:50:31 -04:00
Jeremy Bícha
3ea3d1a405 releasing package gnome-shell-extensions version 45.0-1 2023-09-18 08:45:49 -04:00
Jeremy Bícha
37de3bfba3 New upstream release 2023-09-18 08:45:38 -04:00
Jeremy Bícha
db24e0c6c3 Update upstream source from tag 'upstream/45.0'
Update to upstream version '45.0'
with Debian dir 74306402cf
2023-09-18 08:45:38 -04:00
Jeremy Bícha
a6131bd00b New upstream version 45.0 2023-09-18 08:45:37 -04:00
Florian Müllner
ba5783ff8c Bump version to 45.0
Update NEWS.
2023-09-16 20:29:57 +02:00
Andre Klapper
e405d09c98 DOAP: Remove defunct mailing list; add Discourse 2023-09-15 22:08:36 +02:00
Jeremy Bícha
4d741a1ece debian/watch: Watch for beta and rc releases too 2023-09-06 10:00:16 -04:00
Bruce Cowan
fee98cf385 Update British English translation
(cherry picked from commit 54d6a839f849bbe7c6acbbe03adbcbb909dbd80a)
2023-09-06 11:14:58 +00:00
Florian Müllner
e6b6b0c589 Bump version to 45.rc
Update NEWS.
2023-09-06 11:53:48 +02:00
Florian Müllner
f54b96c327 auto-move: Fix signal name
The functionality is still broken for wayland windows that use
xdg-activation, because the workspace information from the startup
sequence is handled later.

But at least it's a baby step towards a fix.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/272>
2023-09-06 00:00:36 +02:00
Amin Bandali
6ce713f305 Change debian-branch from debian/master to debian/latest 2023-09-04 10:18:31 -04:00
A S Alam
5e025ba194 Update Punjabi translation 2023-09-02 15:54:18 +00:00
Jeremy Bícha
db248b3ce6 releasing package gnome-shell-extensions version 45~beta-1 2023-08-21 10:17:30 -04:00
Jeremy Bícha
2e2651ea4c New upstream release 2023-08-21 10:17:06 -04:00
Jeremy Bícha
696225fdc9 Update upstream source from tag 'upstream/45_beta'
Update to upstream version '45~beta'
with Debian dir fd31c81873
2023-08-21 10:16:23 -04:00
Simon McVittie
fd31c81873 d/control: Regenerate 2023-08-21 00:37:44 +01:00
Simon McVittie
981f094061 Upload to unstable (part of transition: #1043144) 2023-08-20 23:04:54 +01:00
Florentina Musat
5bf98cbe8f Update Romanian translation 2023-08-17 16:26:01 +00:00
Florian Müllner
3677931bd2 ci: Add reuse job
Now that we are Reuse-compliant, check for it during CI to make
sure we remain compliant.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/224>
2023-08-17 11:51:48 +00:00
Florian Müllner
b7f285d733 Make project compatible with Reuse Software spec
Provide all licenses used in the project in a LICENSES folder and
add SPDX license and copyright information for all files in
accordance with the Reuse Software[0] specification.

The copyright information is based on the file's git history,
using a fairly generous definition of "non-trivial".

As of the spec recommendation, the information is generally added
as comments in the files themselves, except for

 - NEWS, README and similar top-level standard files, so that
   a SPDX code isn't the first thing people encounter
 - files that don't support comments (json) or where they'd
   be a bit awkward (.desktop, .service)
 - anything under po/, to not interfere with translation teams

Those are covered by a .reuse/dep5 files, except for image assets,
where separate .license files are used (It would be possible to
add comments to SVG files, but I don't trust image editors to
preserve them).

[0] https://reuse.software/

Part-of:
<https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/224>
2023-08-17 11:51:48 +00:00
Florian Müllner
b966cb6b22 doap: Remove Giovanni from maintainers
He is an emeritus member, which means he is no longer active.

In particular he is no longer in the 'gnomecvs' group, which
is a pre-condition for being listed in the .doap file.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/267>
2023-08-17 11:41:21 +00:00
Jeremy Bícha
e864d0d1cc New upstream version 45~beta 2023-08-16 22:55:57 -04:00
Sabri Ünal
e238b0f6aa Update Turkish translation 2023-08-16 18:38:33 +00:00
Florian Müllner
4345703c2e Bump version to 45.beta
Update NEWS.
2023-08-07 16:41:23 +02:00
Florian Müllner
a911447375 js: Port to ESM
The shell pulled the trigger and switched to ESM for all its
imports, follow suit.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/269>
2023-08-06 15:59:35 +02:00
Florian Müllner
2d3307c657 window-list: Use InjectionManager instead of custom classes
Once the shell is ported to ESM, it will no longer be possible
to replace entire classes (even when imported). Prepare for that
by overriding methods of the regular WorkspaceBackground class
instead.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/268>
2023-08-06 13:45:56 +02:00
Florian Müllner
d59bc0b7f0 window-list: Do not inject WindowPicker into Main
This will become impossible once Main is converted to ESM. Instead,
use the Extension class itself to hold the window picker.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/268>
2023-08-06 13:45:56 +02:00
Florian Müllner
cb8c2eb27f windowsNavigator: Use InjectionManager instead of custom classes
Once the shell is ported to ESM, it will no longer be possible
to replace entire classes (even when exported). Prepare for that
by overriding methods of the regular classes, instead of creating
custom subclasses.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/268>
2023-08-06 13:45:56 +02:00
Florian Müllner
0544729bba launch-new-instance: Use InjectionManager
The extension uses a straight-forward override that doesn't
benefit a lot from the new InjectionManager class, but let's
use the provided convenience API anyway.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/268>
2023-08-05 21:32:27 +02:00
Florian Müllner
017c410a6a native-window-placement: Use InjectionManager
The new convenience class was modelled after the code in the
extension, so it's a drop-in replacement.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/268>
2023-08-05 18:53:41 +02:00
Florian Müllner
f2c73329be extensions: Use new convenience classes
Convenience APIs for extensions are now provided as Extension/Prefs
base classes.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/268>
2023-08-05 18:53:41 +02:00
Efstathios Iosifidis
ce644be96f Update Greek translation 2023-08-01 20:41:56 +00:00
Florian Müllner
e75a1a15ac extensions: Import ExtensionUtils as module
ExtensionUtils has been converted to ESM and split into two modules,
for extensions and prefs respectively.

Adjust to those changes.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/266>
2023-07-15 14:13:25 +02:00
Florian Müllner
1155170c7c window-list: Stop using getCurrentExtension()
The method is no longer exported. There will be a nicer alternative
soon, in the meantime we can just keep track of our main Extension
object ourselves.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/266>
2023-07-15 14:10:27 +02:00
Florian Müllner
6d8f54a20b js: Really use connectObject()
I forgot in two places to change the actual connect() function
to connectObject() 🤦️

Fixes commit 3bfaf6f88a.
2023-07-10 07:22:25 +02:00
Florian Müllner
93a2e7bdba extensions: Stop using global.log()
It has been deprecated since 3.6(!) in favor of the actually
global log().

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/264>
2023-07-10 06:51:45 +02:00
Florian Müllner
3bfaf6f88a js: Use connectObject()
gnome-shell added (dis)connectObject() methods to partially automate
signal handling. It doesn't only save a significant amount of code,
but also makes it harder to miss cleaning up on destroy.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/263>
2023-07-09 18:45:07 +02:00
Florian Müllner
37baccd9fc window-list: Remove some dead code
The code that connected the signal was removed in 9fa522c29a.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/263>
2023-07-09 18:33:52 +02:00
Florian Müllner
9365725246 ci: Use wrapper to run eslint
The eslint job report its results as artifacts in junit format,
so that gitlab can present them in its UI.

However many psople miss that, and unsuccessfully check the logs
instead.

Address this by using a simplified version of gnome-shell's eslint
wrapper, so we can report results both on stdout and in a file
without re-running the linter.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/262>
2023-07-09 16:21:03 +02:00
Florian Müllner
f1257c4523 Ignore some common patterns
Ignore patches, vim session files and project configuration
of GNOME Builder and VSCode.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/261>
2023-07-09 15:59:34 +02:00
Florian Müllner
f0865f039e Clean up .gitignore
Meson enforces a separate build dir, so we no longer have to
care about build artifacts in the source tree. Same applies for
all the generated crap autotools like to spread around.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/261>
2023-07-09 15:59:34 +02:00
Florian Müllner
4955c20669 data: Remove left-over file
We no longer have a separate classic theme that could(*) use
custom assets, so the file is now very officially a left-over.

(*) spoiler alert: The made-up property where the image was
used has been ignored by gnome-shell for years

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/260>
2023-07-09 14:27:44 +02:00
Florian Müllner
cf007dd472 extensions: Turn extensions into modules
As gnome-shell is moving to ESM, it will now load extensions as
standard modules instead of using legacy imports. The change boils
down to exporting the Extension class as default, but we can also
start using standard imports for introspected modules now, so do
that at the same time.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/259>
2023-07-07 00:35:08 +02:00
Florian Müllner
701b14ecbf extensions: Use extension class for all extensions
This will be the only supported entry point when extension loading
switches to dynamic imports, so prepare for that by wrapping the
remaining standalone enable()/disable() methods in Extension classes.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/259>
2023-07-07 00:12:41 +02:00
Florian Müllner
18674b2e35 lint: Migrate eslint-plugin-jsdoc rule
Migrate a removed jsdoc, copied from the corresponding gnome-shell
change.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/259>
2023-07-07 00:11:57 +02:00
Florian Müllner
278d0afc79 Bump version to 45.alpha
Update NEWS.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/258>
2023-07-03 00:25:31 +02:00
Florian Müllner
90031432da build: Remove left-over variable
We no longer install a separate mode style, so the variable is
now unused.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/258>
2023-07-03 00:25:03 +02:00
Florian Müllner
b11f0f16f4 light-style: Always save scheme preference on enable()
Disable() should restore the scheme preference that was used when
the extension was enabled, not when it was first initialized.

Even if it's unlikely to be relevant in practice, let's make sure
we save the correct state.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/257>
2023-07-02 23:24:33 +02:00
Florian Müllner
b7895ad956 extensions: Add new light-style extension
Now that gnome-shell supports a light style, people may want to
use it without forcing all apps to be light.

Add a small extension that switches the default to light, so the
shell follows the regular "dark style" preference.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/256>
2023-06-23 14:36:09 +00:00
Arik W
22b9f888fb window-list: Add tooltip for long window titles
Adds a tooltip feature to the window buttons.
If a button’s label is too long to fit, a tooltip will show the complete content when the user hovers over the button.

Fixes https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/170

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/251>
2023-06-18 19:08:53 +00:00
Florian Müllner
61a260bc94 places-menu: Account for app menu removal
The app menu has been removed from the top bar, so we can no longer
base our own indicator position on it.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/255>
2023-05-27 00:44:26 +02:00
Florian Müllner
ced3c94dfa classic: Account for removal of app menu
We no longer include the app menu in the regular GNOME session,
we shouldn't bring it back in Classic (not least because there
never was a similar menu in GNOME 2).

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/255>
2023-05-26 21:00:14 +02:00
Florian Müllner
904ead1fb1 window-list: Replace classic- with light style
Now that classic styling is based on color scheme instead of
a dedicated "classic" stylesheet, we should do the same for
extension styling, with the bonus that it also works with the
regular appearance setting outside the classic session.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/254>
2023-05-26 20:26:43 +02:00
Florian Müllner
f6b6049bc5 classic: Use light color scheme instead of classic styling
gnome-shell now includes a light variant, and supports switching
between dark- and light styling at runtime.

That means we no longer have to build our own stylesheet, and can
instead just instruct gnome-shell to always use the light style
in the classic session.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/254>
2023-05-26 20:26:43 +02:00
Alexander Weichart
ca1c4b0f9e window-list: Improve default stylesheet
Adjust colors to be more consistent with the current shell look.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/253>
2023-05-26 18:25:35 +02:00
Jeremy Bicha
b9067eed79 releasing package gnome-shell-extensions version 44.0-1 2023-03-27 08:50:38 -04:00
Jeremy Bicha
68c7beabab debian/control.in: Build-Depend on libglib2.0-bin 2023-03-27 08:49:19 -04:00
Jeremy Bicha
3ba184bfe2 debian/control.in: Bump minimum meson to 0.58.0 2023-03-27 08:47:54 -04:00
Jeremy Bicha
24fa8a6e04 New upstream release 2023-03-27 08:47:19 -04:00
Jeremy Bicha
923f204478 Update upstream source from tag 'upstream/44.0'
Update to upstream version '44.0'
with Debian dir 2e07466bb9
2023-03-27 08:47:19 -04:00
Jeremy Bicha
930595003d New upstream version 44.0 2023-03-27 08:47:18 -04:00
Florian Müllner
58b4b3c8d6 Bump version to 44.0
Update NEWS.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/249>
2023-03-19 05:14:23 +01:00
Florian Müllner
25cc126ebc build: Add configuration summary
Meson now has a summary() function to easily summarize the build
configuration after the project was configured, use that for some
fancy output when the feature is available.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/249>
2023-03-19 04:52:56 +01:00
Florian Müllner
30bac19c5a build: Compile gschemas if necessary
It is good practice to recompile schemas after installing a new
schema, but for some reason we never did.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/249>
2023-03-19 04:30:45 +01:00
Florian Müllner
7689d660dc build: Bump meson requirement
Using the same minimum version as gnome-shell should be
uncontroversial, and allows us to use some new features.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/249>
2023-03-19 04:14:01 +01:00
Jeremy Bicha
a69d37f2ee releasing package gnome-shell-extensions version 44~rc-1 2023-03-07 12:20:07 -05:00
Jeremy Bicha
2e715149db New upstream release 2023-03-07 12:19:37 -05:00
Jeremy Bicha
26d067d301 Update upstream source from tag 'upstream/44_rc'
Update to upstream version '44~rc'
with Debian dir 0ecf357214
2023-03-07 12:19:36 -05:00
Jeremy Bicha
c1df8cedb8 releasing package gnome-shell-extensions version 44~beta-1 2023-02-15 11:01:42 -05:00
Jeremy Bicha
2189f8cc58 New upstream release 2023-02-15 10:59:27 -05:00
Jeremy Bicha
6cd74c86ae Update upstream source from tag 'upstream/44_beta'
Update to upstream version '44~beta'
with Debian dir bd191be89d
2023-02-15 10:59:27 -05:00
Jeremy Bicha
88657c2def Update debian/changelog 2022-11-29 16:04:18 -05:00
Debian Janitor
68b7915bc6 Remove constraints unnecessary since buster (oldstable)
* gnome-shell-extensions: Drop versioned constraint on gnome-shell-common in Replaces.
* gnome-shell-extensions: Drop versioned constraint on gnome-shell-common in Breaks.

Changes-By: deb-scrub-obsolete
2022-11-29 10:14:04 +00:00
Jeremy Bicha
f6e66faf8f releasing package gnome-shell-extensions version 43.1-1 2022-11-22 14:15:06 -05:00
Jeremy Bicha
ee0bb2c636 New upstream release 2022-11-22 14:13:09 -05:00
Jeremy Bicha
1edb245e85 Update upstream source from tag 'upstream/43.1'
Update to upstream version '43.1'
with Debian dir 8c75b5968c
2022-11-22 14:13:08 -05:00
Jeremy Bicha
7a010d5a72 releasing package gnome-shell-extensions version 43.0-2 2022-09-27 19:14:00 -04:00
Jeremy Bicha
9e4b7488b3 releasing package gnome-shell-extensions version 43.0-1 2022-09-19 10:57:47 -04:00
Jeremy Bicha
18cf40a521 New upstream release 2022-09-19 10:57:27 -04:00
Jeremy Bicha
ed6d806617 Update upstream source from tag 'upstream/43.0'
Update to upstream version '43.0'
with Debian dir d0bf484be0
2022-09-19 10:57:27 -04:00
Jeremy Bicha
4f5e421539 releasing package gnome-shell-extensions version 43~rc-1 2022-09-06 14:39:08 -04:00
Jeremy Bicha
72868ac7c5 New upstream release 2022-09-06 14:38:17 -04:00
Jeremy Bicha
5dea503cbd Update upstream source from tag 'upstream/43_rc'
Update to upstream version '43~rc'
with Debian dir eda3854675
2022-09-06 14:38:17 -04:00
Jeremy Bicha
8f8292afb3 releasing package gnome-shell-extensions version 43~beta-1 2022-08-21 10:59:29 -04:00
Jeremy Bicha
d505f75c9b New upstream release 2022-08-21 10:59:17 -04:00
Jeremy Bicha
a8a2729531 Update upstream source from tag 'upstream/43_beta'
Update to upstream version '43~beta'
with Debian dir 54ab7f9898
2022-08-21 10:59:17 -04:00
Jeremy Bicha
9306ee7a5d releasing package gnome-shell-extensions version 42.3-1 2022-07-13 17:49:11 +02:00
Jeremy Bicha
e8c8c7d940 New upstream release 2022-07-13 17:48:52 +02:00
Jeremy Bicha
871c9c39dc Update upstream source from tag 'upstream/42.3'
Update to upstream version '42.3'
with Debian dir 1a2f6557b5
2022-07-13 17:46:11 +02:00
Jeremy Bicha
ecc955b4cd releasing package gnome-shell-extensions version 42.2-1 2022-06-03 09:23:35 -04:00
Jeremy Bicha
7e5f7eb0aa New upstream release 2022-06-03 09:19:26 -04:00
Jeremy Bicha
1c3407c05f Update upstream source from tag 'upstream/42.2'
Update to upstream version '42.2'
with Debian dir a5ea5896c1
2022-06-03 09:19:25 -04:00
Jeremy Bicha
26fb856ffc releasing package gnome-shell-extensions version 42.1-1 2022-05-09 08:09:41 -04:00
Jeremy Bicha
9d2b15ba26 New upstream release 2022-05-09 08:08:22 -04:00
Jeremy Bicha
28cdc1df1a Update upstream source from tag 'upstream/42.1'
Update to upstream version '42.1'
with Debian dir f8b48c4000
2022-05-09 08:02:14 -04:00
Jeremy Bicha
0c501f84b9 Update debian/watch
Gbp-Dch: Ignore
2022-04-27 13:01:36 -04:00
Jeremy Bicha
c6d5ea5934 releasing package gnome-shell-extensions version 42.0-2 2022-03-28 11:18:24 -04:00
Jeremy Bicha
047f939b63 releasing package gnome-shell-extensions version 42.0-1 2022-03-14 11:30:41 -04:00
Jeremy Bicha
3d693372ad New upstream release 2022-03-14 11:29:57 -04:00
Jeremy Bicha
a33802d3e5 Update upstream source from tag 'upstream/42.0'
Update to upstream version '42.0'
with Debian dir 534fb27166
2022-03-14 11:29:57 -04:00
Jeremy Bicha
d483244ecb releasing package gnome-shell-extensions version 42~rc-1 2022-03-08 17:55:04 -05:00
Jeremy Bicha
8e39e0d363 Revert "debian/control: Support pre-release versions of gnome-shell"
This reverts commit e2369147b1.

Fixed in gnome-pkg-tools instead
2022-03-08 09:55:43 -05:00
Jeremy Bicha
2762830b10 Revert "debian/watch: Look for any released version"
This reverts commit a2c271d677.

Now that the 42 devel series is basically done, let's
return to looking for stable releases.

Yes, I know there is some disagreement about our watch files,
but this matches what nearly all the Debian GNOME packages do.
2022-03-08 09:32:45 -05:00
Jeremy Bicha
df1df4b8e1 New upstream release 2022-03-08 09:32:30 -05:00
Jeremy Bicha
210e86641b Update upstream source from tag 'upstream/42_rc'
Update to upstream version '42~rc'
with Debian dir 7835943993
2022-03-08 09:32:30 -05:00
Marco Trevisan (Treviño)
a8a49e3c65 Upload to experimental 2022-02-23 07:35:20 +01:00
Marco Trevisan (Treviño)
bfe26eaf84 Update changelog 2022-02-23 03:12:07 +01:00
Marco Trevisan (Treviño)
60a08debff debian/patches: Drop applied upstream 2022-02-23 03:12:07 +01:00
Marco Trevisan (Treviño)
132bd9259e debian/control: Depend on libadwaita and gtk-4 (instead of gtk-3) 2022-02-23 03:03:05 +01:00
Marco Trevisan (Treviño)
5eb4dcf6bf New upstream release 2022-02-23 02:57:10 +01:00
Marco Trevisan (Treviño)
295fb67225 Update upstream source from tag 'upstream/42_beta'
Update to upstream version '42~beta'
with Debian dir 7f35debfa0
2022-02-23 02:57:09 +01:00
Marco Trevisan (Treviño)
a2c271d677 debian/watch: Look for any released version 2022-02-23 02:56:48 +01:00
Simon McVittie
6901f6187d Backport patch from upstream to fix FBTFS with Meson 0.61
Closes: #1005534
2022-02-15 11:18:42 +00:00
Jeremy Bicha
e2ee6bacd0 releasing package gnome-shell-extensions version 41.1-1 2021-12-12 20:30:29 -05:00
Jeremy Bicha
bc6c24fc4e New upstream release 2021-12-12 20:29:02 -05:00
Jeremy Bicha
58f72a073d Update upstream source from tag 'upstream/41.1'
Update to upstream version '41.1'
with Debian dir c5965b647a
2021-12-12 20:29:01 -05:00
Simon McVittie
c83a75766c Release to unstable 2021-10-16 20:06:11 +01:00
Jeremy Bicha
c016fb531c releasing package gnome-shell-extensions version 41.0-1 2021-10-10 17:05:00 -04:00
Jeremy Bicha
1615745a1f Bump Standards-Version to 4.6.0 2021-10-09 06:35:40 -04:00
Jeremy Bicha
dc50382d22 debian/control.in: Bump minimum meson to 0.53.0 2021-10-03 20:43:18 -04:00
Jeremy Bicha
a5b84379f4 New upstream release 2021-10-03 20:42:41 -04:00
Jeremy Bicha
d168261fa5 Update upstream source from tag 'upstream/41.0'
Update to upstream version '41.0'
with Debian dir e15005271d
2021-10-03 20:42:41 -04:00
Jeremy Bicha
e83760388f Update debian/gbp.conf & debian/watch for team style 2021-10-03 20:41:29 -04:00
Simon McVittie
82d19a5433 Release to unstable 2021-09-11 21:53:21 +01:00
Jeremy Bicha
e3e39728ce releasing package gnome-shell-extensions version 40.4-2 2021-08-29 10:46:41 -04:00
Jeremy Bicha
76dfb8ef31 releasing package gnome-shell-extensions version 40.4-1 2021-08-29 09:17:31 -04:00
Jeremy Bicha
544cf566b5 Revert "debian/control: Don't build depend on sassc"
This reverts commit 3e87fa8aa5.
2021-08-29 08:51:47 -04:00
Jeremy Bicha
da88313488 New upstream release 2021-08-29 08:50:45 -04:00
Jeremy Bicha
2aa0720e93 Update upstream source from tag 'upstream/40.4'
Update to upstream version '40.4'
with Debian dir e6eaad7d17
2021-08-29 08:50:45 -04:00
Jeremy Bicha
be536ee32e Update debian/changelog 2021-08-29 08:49:07 -04:00
Jeremy Bicha
339e06634f debian/copyright: Add gnome-classic.css to Files-Excluded
to ensure we build it from source
2021-08-29 08:47:48 -04:00
Jeremy Bicha
ff9527ea52 debian/watch: Watch for stable releases 2021-08-29 08:36:43 -04:00
Marco Trevisan (Treviño)
e2369147b1 debian/control: Support pre-release versions of gnome-shell
Gnome version will now point to the stable version and not to the
development version, so we need to adjust the dependency to support
alpha, beta and rc releases.
2021-05-30 20:18:03 +02:00
Marco Trevisan (Treviño)
5e559c4444 Upload to experimental 2021-05-30 20:05:13 +02:00
Marco Trevisan (Treviño)
e30762ea43 Update changelog 2021-05-30 20:04:52 +02:00
Marco Trevisan (Treviño)
1fa4a078d8 debian/control: Build-depend on dh-sequence-gnome 0.22
It's the first version that supports new GNOME versioning schema.
2021-05-30 19:36:26 +02:00
Marco Trevisan (Treviño)
3e87fa8aa5 debian/control: Don't build depend on sassc
Since we compile from tarball, this is not needed anymore given that
compiled css are provided already.
2021-05-30 18:09:10 +02:00
Marco Trevisan (Treviño)
e52ca120c4 debian/control: Update runtime dependencies to match code
Found grepping code via:

  grep "imports\.gi" --include "*.js" -rh -B2 . \
     | grep -o "\b[A-Z][A-Za-z]\+\b" | sed "s/,\?\s*$//g" | sort -u
2021-05-30 18:04:19 +02:00
Marco Trevisan (Treviño)
3eadbba8a1 New upstream release 2021-05-30 17:53:16 +02:00
Marco Trevisan (Treviño)
41f9451070 Update upstream source from tag 'upstream/40.1'
Update to upstream version '40.1'
with Debian dir 0cbf40a23d
2021-05-30 17:53:16 +02:00
Marco Trevisan (Treviño)
d2f5bfdbfd debian/watch: Update for new gnome versioning schema 2021-05-30 17:52:23 +02:00
Marco Trevisan (Treviño)
b4a1953372 debian/gbp.conf: Use upstream/latest branch 2021-05-30 17:50:41 +02:00
Simon McVittie
db1342e5ff Release to unstable 2020-12-03 10:18:08 +00:00
Simon McVittie
86c5057d62 d/gbp.conf: Use upstream/3.38.x branch
Version 40~alpha was already released upstream.
2020-12-03 10:17:52 +00:00
Simon McVittie
779dea8408 Standards-Version: 4.5.1 (no changes required) 2020-12-03 10:12:34 +00:00
Simon McVittie
544f374e44 New upstream release 2020-12-03 10:11:15 +00:00
Simon McVittie
b55d783cc2 Update upstream source from tag 'upstream/3.38.2'
Update to upstream version '3.38.2'
with Debian dir 30b73fdd03
2020-12-03 10:11:15 +00:00
Jeremy Bicha
4e948b2b48 releasing package gnome-shell-extensions version 3.38.1-1 2020-10-06 17:44:35 -04:00
Jeremy Bicha
b6bce374ad Recommend gnome-shell-extension-prefs instead of gnome-tweaks 2020-10-06 17:38:18 -04:00
Jeremy Bicha
6cbd8abdca New upstream release 2020-10-06 17:36:39 -04:00
Jeremy Bicha
5947f38421 Update upstream source from tag 'upstream/3.38.1'
Update to upstream version '3.38.1'
with Debian dir e97ed2a443
2020-10-06 17:36:39 -04:00
Simon McVittie
29b24e391a Release to unstable 2020-09-25 23:01:23 +01:00
Simon McVittie
0cdb80a9e0 Revert "debian/watch: Watch for unstable releases"
This reverts commit a289bbfb93.
2020-09-25 23:00:48 +01:00
Simon McVittie
a8907d6fb1 Release to experimental 2020-09-22 11:49:57 +01:00
Simon McVittie
4851a66c57 Fix gnome-classic regression in 3.37.91-1
gnome-session no longer takes the `--session gnome-classic` argument
when running in classic mode.
2020-09-22 11:49:19 +01:00
Simon McVittie
1d5c2091cc Update standards version to 4.5.0, no changes needed.
Changes-By: lintian-brush
Fixes: lintian: out-of-date-standards-version
See-also: https://lintian.debian.org/tags/out-of-date-standards-version.html
2020-09-22 09:18:46 +01:00
Simon McVittie
e5abcaf7c8 Set upstream metadata fields: Bug-Database, Bug-Submit, Repository, Repository-Browse.
Changes-By: lintian-brush
Fixes: lintian: upstream-metadata-file-is-missing
See-also: https://lintian.debian.org/tags/upstream-metadata-file-is-missing.html
Fixes: lintian: upstream-metadata-missing-bug-tracking
See-also: https://lintian.debian.org/tags/upstream-metadata-missing-bug-tracking.html
Fixes: lintian: upstream-metadata-missing-repository
See-also: https://lintian.debian.org/tags/upstream-metadata-missing-repository.html
2020-09-22 09:18:46 +01:00
Simon McVittie
d5733eed90 New upstream release 2020-09-22 09:17:08 +01:00
Simon McVittie
a22cc0dc4e Update upstream source from tag 'upstream/3.38.0'
Update to upstream version '3.38.0'
with Debian dir c70415b74c
2020-09-22 09:16:27 +01:00
Marco Trevisan (Treviño)
276f6a1c6f Upload to experimental 2020-08-27 17:39:42 +02:00
Marco Trevisan (Treviño)
e161e32b63 Update changelog 2020-08-27 17:11:21 +02:00
Marco Trevisan (Treviño)
e31a351c56 debian/control: Remove useless dependency on clutter gir
While the extensions do depend on clutter, they depend on the one that
is provided by the shell via the internal mutter fork, so no need to
pull the standalone library here.
2020-08-27 08:35:23 +02:00
Marco Trevisan (Treviño)
f728c0172b debian/rules: Don't override dh_missing equal default behavior
As per dh 13, --fail-missing is the default
2020-08-27 08:28:33 +02:00
Marco Trevisan (Treviño)
136644d45e debian/control: B-D on debhelper 13 2020-08-27 08:28:12 +02:00
Marco Trevisan (Treviño)
24308612fd debian/patches: Refresh 2020-08-27 08:26:46 +02:00
Marco Trevisan (Treviño)
1ae3e89b57 New upstream release 2020-08-27 08:18:08 +02:00
Marco Trevisan (Treviño)
c1bb6ca349 Update upstream source from tag 'upstream/3.37.91'
Update to upstream version '3.37.91'
with Debian dir 024b4338a7
2020-08-27 08:18:07 +02:00
Laurent Bigonville
b03d1b9cc7 Release to unstable 2020-05-03 10:02:23 +02:00
Laurent Bigonville
3ce0485742 New upstream release 2020-05-03 10:01:15 +02:00
Laurent Bigonville
100651a74c Update upstream source from tag 'upstream/3.36.2'
Update to upstream version '3.36.2'
with Debian dir 76e64ae93a
2020-05-03 10:01:15 +02:00
Simon McVittie
5138e30a2a Release to unstable 2020-04-10 15:13:18 +01:00
Simon McVittie
a69fa591da New upstream release 2020-04-02 10:14:08 +01:00
Simon McVittie
7f2a3eb2ca Update upstream source from tag 'upstream/3.36.1'
Update to upstream version '3.36.1'
with Debian dir 10076e8e1e
2020-04-02 10:14:08 +01:00
Iain Lane
e45cc8cdc0 Finalise changelog 2020-03-16 12:39:05 +00:00
Iain Lane
3c8edd7b3a New upstream release 2020-03-16 12:38:45 +00:00
Iain Lane
855832d08b Update upstream source from tag 'upstream/3.36.0'
Update to upstream version '3.36.0'
with Debian dir d3a51685f5
2020-03-16 12:13:26 +00:00
Iain Lane
9f07981fe5 Finalise changelog 2020-02-24 18:29:30 +00:00
Marco Trevisan (Treviño)
a27d6d3c7e New upstream release 2020-02-24 14:53:49 +01:00
Marco Trevisan (Treviño)
2a4da355f1 Update upstream source from tag 'upstream/3.35.91'
Update to upstream version '3.35.91'
with Debian dir 10862f27f4
2020-02-24 14:48:46 +01:00
Laurent Bigonville
ca47fbc16b Release to unstable 2019-12-30 00:51:17 +01:00
Laurent Bigonville
5a3c3de1a4 debian/control.in: Bump Standards-Version to 4.4.1 (no further changes) 2019-12-30 00:51:08 +01:00
Laurent Bigonville
ff9062ac17 New upstream release 2019-12-30 00:41:33 +01:00
Laurent Bigonville
9486fc3f98 Update upstream source from tag 'upstream/3.34.2'
Update to upstream version '3.34.2'
with Debian dir 38d5f5c015
2019-12-30 00:41:32 +01:00
Jeremy Bicha
28e873b5e0 releasing package gnome-shell-extensions version 3.34.1-2 2019-10-08 22:50:33 -04:00
Jeremy Bicha
39d532ca3f releasing package gnome-shell-extensions version 3.34.1-1 2019-10-08 22:49:50 -04:00
Jeremy Bicha
07a602e404 Drop unnecessary Build-Depend on gnome-pkg-tools
provided by dh-sequence-gnome

Gbp-Dch: Ignore
2019-10-08 22:46:37 -04:00
Jeremy Bicha
a448e48cdb New upstream release 2019-10-08 22:45:47 -04:00
Jeremy Bicha
092a3ee21a Update upstream source from tag 'upstream/3.34.1'
Update to upstream version '3.34.1'
with Debian dir 0812829987
2019-10-08 22:45:47 -04:00
Andreas Henriksson
88cfcdbd2e Upload to unstable 2019-09-30 17:27:45 +02:00
Iain Lane
f3378c7b6f Finalise changelog 2019-09-10 10:59:33 +01:00
Iain Lane
50545c1486 New upstream release 2019-09-10 10:53:19 +01:00
Iain Lane
ff678d06ea Update upstream source from tag 'upstream/3.34.0'
Update to upstream version '3.34.0'
with Debian dir 31efb81a24
2019-09-10 10:53:04 +01:00
Iain Lane
6345449d50 Finalise changelog 2019-09-05 18:22:15 +01:00
Iain Lane
8951266183 Update changelog 2019-09-05 18:21:38 +01:00
Iain Lane
6911624d4d New upstream release 2019-09-05 18:21:23 +01:00
Iain Lane
da6efff220 Update upstream source from tag 'upstream/3.33.92'
Update to upstream version '3.33.92'
with Debian dir e0dd3abd73
2019-09-05 18:21:22 +01:00
Iain Lane
cc99aff03b Finalise changelog 2019-08-13 11:59:25 +01:00
Iain Lane
cdc5210c25 Update changelog 2019-08-13 11:39:41 +01:00
Iain Lane
4838833d72 compat, control, rules: Move to compat 12 and specifying via build-deps 2019-08-13 11:30:21 +01:00
Iain Lane
0fad184fda rules: Build with --fail-missing 2019-08-13 11:27:58 +01:00
Iain Lane
6d8c96d665 rules: Build all extensions via the upstream build system
We don't need to hardcode the list to build, as the build system
provides a way to build 'all' extensions.
2019-08-13 11:26:54 +01:00
Marco Trevisan (Treviño)
e6c1a3b052 New upstream release 2019-08-13 04:33:12 +02:00
Marco Trevisan (Treviño)
71add2e391 Update upstream source from tag 'upstream/3.33.90'
Update to upstream version '3.33.90'
with Debian dir 0efb035d04
2019-08-13 04:25:54 +02:00
Iain Lane
61abd2a48f Finalise changelog 2019-03-12 16:34:19 +00:00
Iain Lane
6ba2f49866 New upstream release 2019-03-12 16:33:31 +00:00
Iain Lane
2fd2cf9074 Update upstream source from tag 'upstream/3.32.0'
Update to upstream version '3.32.0'
with Debian dir 4724138f6f
2019-03-12 16:33:31 +00:00
Iain Lane
d0d40f248d Update control 2019-03-12 16:33:01 +00:00
Iain Lane
cc2a2ca153 Finalise changelog 2019-03-06 15:45:15 +00:00
Iain Lane
2307b639dd New upstream release 2019-03-06 15:41:51 +00:00
Iain Lane
1e0ea36a81 Update upstream source from tag 'upstream/3.31.92'
Update to upstream version '3.31.92'
with Debian dir d20ac803ed
2019-03-06 15:39:48 +00:00
Iain Lane
4e1250a6ba Finalise changelog 2019-02-21 10:33:13 +00:00
Iain Lane
56d2852004 Update changelog 2019-02-21 10:15:11 +00:00
Iain Lane
3fa8edcb1a rules: alternate-tab is dropped; stop trying to enable it 2019-02-21 10:15:11 +00:00
Iain Lane
edb14ea03c New upstream release 2019-02-21 10:08:47 +00:00
Iain Lane
a2f554bc1e Update upstream source from tag 'upstream/3.31.90'
Update to upstream version '3.31.90'
with Debian dir f0ccfd59b6
2019-02-21 10:08:47 +00:00
Iain Lane
a289bbfb93 debian/watch: Watch for unstable releases 2019-02-21 10:08:08 +00:00
Simon McVittie
5486c2040d 3.30.1-1 2018-11-02 09:27:05 +00:00
Simon McVittie
84c95be03f d/p/gnome-session-classic-wrapper-script.patch: Re-word to avoid a Lintian warning 2018-11-02 09:26:42 +00:00
Simon McVittie
d9e6c6c4c5 Bump Standards-Version to 4.2.1 2018-11-02 09:23:06 +00:00
Simon McVittie
25559e758c New upstream release 2018-11-02 09:22:10 +00:00
Simon McVittie
89ce4aee4a Update upstream source from tag 'upstream/3.30.1'
Update to upstream version '3.30.1'
with Debian dir 0588a7440a
2018-11-02 09:22:10 +00:00
Jeremy Bicha
ba9d2e7919 releasing package gnome-shell-extensions version 3.30.0-1 2018-09-05 12:35:10 -04:00
Jeremy Bicha
9d0c742f34 Update debian/gbp.conf 2018-09-05 12:33:05 -04:00
Jeremy Bicha
1e69961bc7 New upstream release 2018-09-05 12:32:55 -04:00
Jeremy Bicha
e4ddc4c14e Update upstream source from tag 'upstream/3.30.0'
Update to upstream version '3.30.0'
with Debian dir d0677ad034
2018-09-05 12:32:29 -04:00
Jeremy Bicha
be149bab3d Revert "d/watch: Watch for development versions"
This reverts commit e37782c2ce.
2018-09-05 12:31:44 -04:00
Simon McVittie
1b4bbe19e3 3.29.91-1 2018-08-20 20:28:07 +01:00
Simon McVittie
2e6b602a04 d/p/series: Remove commented-out line 2018-08-20 20:00:42 +01:00
Simon McVittie
5b9012152c d/copyright: Remove unnecessary sentence fragment 2018-08-20 20:00:08 +01:00
Simon McVittie
efd20bb4f7 Sort dependency lists (wrap-and-sort -a) 2018-08-20 19:58:52 +01:00
Simon McVittie
7d595e4774 Bump Standards-Version to 4.2.0 2018-08-20 19:58:00 +01:00
Simon McVittie
7b4c3085c0 New upstream development release 2018-08-20 19:56:46 +01:00
Simon McVittie
7045a5dcea Update upstream source from tag 'upstream/3.29.91'
Update to upstream version '3.29.91'
with Debian dir 7aa6de354f
2018-08-20 19:55:42 +01:00
Simon McVittie
777bae87b5 3.29.90-1 2018-08-02 10:46:54 +01:00
Simon McVittie
06ae867c2f New upstream development release 2018-08-02 10:33:59 +01:00
Simon McVittie
77ebd3d202 Update upstream source from tag 'upstream/3.29.90'
Update to upstream version '3.29.90'
with Debian dir 556645e633
2018-08-02 10:32:11 +01:00
Simon McVittie
227f999001 3.29.3+really3.29.3-1 2018-07-27 23:58:30 +01:00
Simon McVittie
e37782c2ce d/watch: Watch for development versions 2018-07-27 10:49:37 +01:00
Simon McVittie
f210be5ab4 3.29.3-1 2018-07-27 09:37:49 +01:00
Simon McVittie
12b1a0639e Set Rules-Requires-Root to no 2018-07-27 09:18:19 +01:00
Simon McVittie
34098b871b Merge branch 'upstream/latest' into debian/master 2018-07-27 09:15:18 +01:00
Simon McVittie
cc2ebff0e3 Bump Standards-Version to 4.1.5 2018-07-27 08:49:34 +01:00
Simon McVittie
7c21766dd5 New upstream release 2018-07-27 08:48:10 +01:00
Simon McVittie
965dfd2d39 Update upstream source from tag 'upstream/3.29.3'
Update to upstream version '3.29.3'
with Debian dir db66300472
2018-07-27 08:43:27 +01:00
Jeremy Bicha
49e598b4b7 releasing package gnome-shell-extensions version 3.28.1-1 2018-05-14 21:54:28 -04:00
Jeremy Bicha
40f13f3afa Bump Standards-Version to 4.1.4 2018-05-14 21:51:38 -04:00
Jeremy Bicha
356e2054fa New upstream release 2018-05-14 21:50:59 -04:00
Jeremy Bicha
dab22e927b Update upstream source from tag 'upstream/3.28.1'
Update to upstream version '3.28.1'
with Debian dir a3ec8283f8
2018-05-14 21:50:46 -04:00
Jeremy Bicha
a1f60be674 releasing package gnome-shell-extensions version 3.28.0-2 2018-03-19 18:21:11 -04:00
Jeremy Bicha
e0ec59d30b Fix missing auto-move-windows, native-window-placement, & user-theme extns 2018-03-19 18:20:51 -04:00
Jeremy Bicha
abc1c9ef7e releasing package gnome-shell-extensions version 3.28.0-1 2018-03-18 20:17:31 -04:00
Jeremy Bicha
3e4a778978 New upstream release 2018-03-15 21:28:56 -04:00
Jeremy Bicha
ca85495a1c Update upstream source from tag 'upstream/3.28.0'
Update to upstream version '3.28.0'
with Debian dir f3988d1137
2018-03-15 21:28:24 -04:00
Jeremy Bicha
41dc03222c releasing package gnome-shell-extensions version 3.27.92-2 2018-03-10 19:38:07 -05:00
Jeremy Bicha
3cf56d8270 releasing package gnome-shell-extensions version 3.27.92-1 2018-03-05 21:02:11 -05:00
Jeremy Bicha
9436564a76 Drop explicit dependency on mutter's gir since gnome-shell already depends on it
It's a headache to remember to update the dependency every 6 months
and wonder why gnome-shell is stuck in Ubuntu -proposed.
2018-03-05 21:01:51 -05:00
Jeremy Bicha
142065d58b Revert "debian/watch: Watch for unstable releases"
This reverts commit 7cbf2533fe.
2018-03-05 20:56:44 -05:00
Jeremy Bicha
2ffd3d95bb New upstream release candidate 2018-03-05 20:56:32 -05:00
Jeremy Bicha
6b9f87dbea Update upstream source from tag 'upstream/3.27.92'
Update to upstream version '3.27.92'
with Debian dir a05b57e9d4
2018-03-05 20:55:44 -05:00
Jeremy Bicha
3b2aee92fb Depend on gir1.2-mutter-2 instead of gir1.2-mutter-1 2018-03-04 07:31:42 -05:00
Simon McVittie
12dac8ee62 Recommend gnome-tweaks instead of transitional gnome-tweak-tool 2018-02-24 11:30:32 +00:00
Jeremy Bicha
f8df77051b releasing package gnome-shell-extensions version 3.27.91-1 2018-02-23 19:52:07 -05:00
Jeremy Bicha
fd9c0f6be4 Bump debhelper compat to 11 2018-02-23 19:51:43 -05:00
Jeremy Bicha
cf05510b0d Build-Depend on sassc 2018-02-23 19:49:25 -05:00
Jeremy Bicha
207923a1b6 Build with meson 2018-02-23 19:49:25 -05:00
Jeremy Bicha
fbbcb058fa Drop patches applied in new release 2018-02-23 19:49:25 -05:00
Jeremy Bicha
cef1736de2 New upstream development release 2018-02-23 19:30:40 -05:00
Jeremy Bicha
da10cfc062 Update upstream source from tag 'upstream/3.27.91'
Update to upstream version '3.27.91'
with Debian dir 1d6bdda2db
2018-02-23 19:30:15 -05:00
Jeremy Bicha
7cbf2533fe debian/watch: Watch for unstable releases 2018-02-23 19:29:45 -05:00
Simon McVittie
1a9d1c235c Team upload 2018-01-30 09:16:33 +00:00
Simon McVittie
5c8a19f54f Avoid frequent tracebacks from the Places menu with gjs >= 1.50.2-3
Closes: #888608
2018-01-30 09:11:30 +00:00
Simon McVittie
44fe593f8a d/patches: Re-export with gbp pq export 2018-01-30 09:09:02 +00:00
Jeremy Bicha
b8d1af4e50 Update Vcs fields for migration to https://salsa.debian.org/ 2018-01-19 20:44:11 -05:00
Jeremy Bicha
18f189b887 releasing package gnome-shell-extensions version 3.26.2-2 2017-12-15 15:19:34 -05:00
Jeremy Bicha
c9776c97de Bump Standards-Version to 4.1.2 2017-12-15 15:19:06 -05:00
Jeremy Bicha
57a4241749 Fix file permissions after git conversion 2017-12-15 15:17:53 -05:00
Jeremy Bicha
163ff997b1 Drop old files left over from git conversion 2017-12-15 15:17:40 -05:00
Jeremy Bicha
449e9879ce Update upstream source from tag 'upstream/3.26.2'
Update to upstream version '3.26.2'
with Debian dir 6437420a17
2017-12-15 15:11:44 -05:00
Jeremy Bicha
84350c3776 Update Vcs fields for conversion to git 2017-12-15 15:11:26 -05:00
Jeremy Bicha
91027ae9a4 Add default gbp.conf 2017-12-15 15:11:26 -05:00
Michael Biebl
9db80785a5 Release version 3.26.2-1 to unstable 2017-11-05 19:17:20 +00:00
Michael Biebl
a876817127 New upstream release 2017-11-05 19:16:18 +00:00
Jeremy Bicha
3a0c70aef7 Release to unstable 2017-10-13 20:50:07 +00:00
Jeremy Bicha
bbb6a73af1 Bump Standards-Version to 4.1.1 2017-10-13 20:49:25 +00:00
Jeremy Bicha
51119ec213 unbranch gnome-shell-extensions from experimental 2017-10-13 20:45:48 +00:00
Simon McVittie
2690ee46f2 Team upload 2017-10-06 10:53:43 +00:00
Simon McVittie
bc2e456a6a New upstream stable release 2017-10-06 09:42:26 +00:00
Simon McVittie
b27c3719f0 Team upload 2017-09-13 11:41:47 +00:00
Simon McVittie
147482d5e8 New upstream stable release 2017-09-13 08:38:35 +00:00
Simon McVittie
514403e1ba Team upload 2017-09-05 20:49:03 +00:00
Simon McVittie
109d3aad6a New upstream release, for GNOME Shell 3.25.91
- d/p/adapt-to-gsd324.patch: Drop, applied upstream
- Switch dependency to gir1.2-mutter-1
2017-09-01 08:35:51 +00:00
Simon McVittie
15779e204d Branch to experimental 2017-09-01 07:45:39 +00:00
Jordi Mallach
49e403f822 Release to unstable. 2017-08-06 21:39:20 +00:00
Jeremy Bicha
ffb5b76f4e Depend on gnome-session-bin instead of gnome-session (LP: #1702832) 2017-07-28 19:57:38 +00:00
Jeremy Bicha
b21932ffd9 Bump Standards-Version to 4.0.0 2017-07-27 22:19:58 +00:00
Jeremy Bicha
46d8f1c8d9 Drop version from gnome-tweak-tool recommends 2017-07-27 22:19:03 +00:00
Jeremy Bicha
8caffac3d7 Explicitly depend on gnome-settings-daemon >= 3.24 2017-07-27 22:18:10 +00:00
Jeremy Bicha
40da5360a4 Add adapt-to-gsd324.patch (Closes: #869948) 2017-07-27 22:16:39 +00:00
Michael Biebl
5b9f91991f Release version 3.22.2-1 to unstable 2016-11-10 18:37:05 +00:00
Michael Biebl
a565f2d984 New upstream release. 2016-11-10 18:36:21 +00:00
Michael Biebl
0b7269a4b8 Release version 3.22.1-1 to unstable 2016-10-11 15:58:49 +00:00
Michael Biebl
c7805b4b40 New upstream release. 2016-10-11 15:56:36 +00:00
Michael Biebl
e6b65be75a Release version 3.22.0-1 to unstable 2016-09-20 00:01:00 +00:00
Michael Biebl
7043fe592c New upstream release. 2016-09-19 23:57:06 +00:00
Michael Biebl
f7d35c41ae Release version 3.21.92-1 to unstable 2016-09-13 20:14:18 +00:00
Michael Biebl
afb4942a72 * New upstream development release.
* Replace Build-Depends gnome-common with pkg-config and gettext.
2016-09-13 20:13:14 +00:00
Jeremy Bicha
4f7bd0918b B-D on debhelper 10 instead of debhelper 9.20160403~ to satisfy lintian 2016-09-11 14:01:13 +00:00
Andreas Henriksson
fb8d34254a New upstream beta release. 2016-08-30 18:00:46 +00:00
Andreas Henriksson
2a390c4c25 Release to experimental 2016-08-21 03:45:50 +00:00
Jeremy Bicha
040fbf72e9 minor: alphabetize extensions list 2016-08-20 18:49:13 +00:00
Jeremy Bicha
395e9aea3c Convert from cdbs to dh and bump dh compat to 10 2016-08-20 18:36:00 +00:00
Jeremy Bicha
bb3508327f Refresh patches 2016-08-20 18:12:14 +00:00
Jeremy Bicha
068ae45f6c Update Vcs fields 2016-08-20 18:01:41 +00:00
Andreas Henriksson
02ff0f658b * New upstream beta release.
* Update build-dependencies according to configure.ac changes:
  - drop intltool, now gettext is used instead.
2016-08-20 16:43:11 +00:00
Andreas Henriksson
3c14d9b524 * New upstream development release.
* Stop hard-coding Victor Seva in the Uploaders field
2016-08-12 14:34:58 +00:00
Andreas Henriksson
8de00babad Branch gnome-shell-extensions to experimental 2016-08-12 14:26:35 +00:00
Jeremy Bicha
59768f0514 restore trailing newlines to d/copyright and /watch 2016-05-26 21:42:36 +00:00
Jeremy Bicha
e185fe30f8 Use https for copyright headers 2016-05-25 03:18:37 +00:00
Jeremy Bicha
0d20be43d4 Use https in d/watch and use new "special strings" to help standardize format 2016-05-23 02:15:25 +00:00
Michael Biebl
356632063c Release version 3.20.1-1 to unstable 2016-05-11 13:22:07 +00:00
Michael Biebl
3a592ddb59 Bump Standards-Version to 3.9.8. 2016-05-11 13:14:23 +00:00
Michael Biebl
652ade33b5 New upstream release. 2016-05-11 13:12:20 +00:00
Michael Biebl
05e6188921 Release version 3.20.0-2 to unstable 2016-04-16 22:26:10 +00:00
Michael Biebl
b222ebed80 Upload to unstable. 2016-04-16 22:25:22 +00:00
Michael Biebl
179d9b9ae1 Move experimental branch of gnome-shell-extensions to unstable 2016-04-16 22:23:15 +00:00
Andreas Henriksson
ab7f50d2c8 New upstream release. 2016-03-25 09:50:27 +00:00
Andreas Henriksson
51cc3c7cd1 * New upstream release.
* Update dont-require-nautilus-classic.patch to apply.
2016-03-17 11:59:57 +00:00
Andreas Henriksson
d51f14529a Branch gnome-shell-extensions to experimental 2016-03-17 11:50:36 +00:00
Michael Biebl
563dfc3d4d Release version 3.18.4-1 to unstable 2016-03-06 21:39:12 +00:00
Michael Biebl
3ad72a04af Bump Standards-Version to 3.9.7. 2016-03-06 21:38:55 +00:00
Michael Biebl
d43130f779 New upstream release. 2016-03-06 21:36:49 +00:00
Andreas Henriksson
ce997ff4fd * Add Breaks/Replaces gnome-shell-common (<< 3.18) (Closes: #808906)
- Helps upgrades from Jessie by allowing overwriting
    /usr/share/gnome-shell/theme/calendar-today.svg et.al.
    which was previously shipped in gnome-shell-common.
2016-02-10 00:33:18 +00:00
Michael Biebl
7a5d530358 Release version 3.18.3-1 to unstable 2016-01-14 21:49:38 +00:00
Michael Biebl
dd0520f334 New upstream release. 2016-01-14 21:39:21 +00:00
Michael Biebl
aab9143c13 Release version 3.18.2-1 to unstable 2015-11-12 23:04:26 +00:00
Michael Biebl
b689ec2ef4 New upstream release. 2015-11-12 23:01:24 +00:00
Michael Biebl
c9c2da444b Release version 3.18.1-1 to unstable 2015-10-16 20:09:34 +00:00
Michael Biebl
9c931c175c New upstream release. 2015-10-16 20:07:21 +00:00
Laurent Bigonville
39db8f1768 New upstream release and upload to unstable 2015-10-11 14:30:04 +00:00
Michael Biebl
f7ed9ff131 Use https:// for Vcs-Browser
[[Split portion of a mixed commit.]]
2015-10-08 13:38:05 +00:00
Michael Biebl
4423126272 Use https:// for Vcs-Browser
[[Split portion of a mixed commit.]]
2015-10-08 13:38:05 +00:00
Andreas Henriksson
5294bc510b New upstream release candidate. 2015-09-18 15:30:14 +00:00
Andreas Henriksson
1b599315a2 Branch g-s-e to experimental 2015-09-18 15:25:52 +00:00
Michael Biebl
b561655503 Release version 3.16.2-1 to unstable 2015-07-02 17:13:48 +00:00
Michael Biebl
64923382b4 Add bug ref to changelog for #782747 2015-07-02 17:13:24 +00:00
Michael Biebl
5ef6525be7 Bump debhelper compatibility level to 9. 2015-07-02 17:08:31 +00:00
Michael Biebl
6dc066f7dd Update Homepage. 2015-07-02 17:06:24 +00:00
Michael Biebl
380cf61811 New upstream release. 2015-07-02 17:06:14 +00:00
Emilio Pozuelo Monfort
4624ca952e * debian/gnome-shell-extensions.gsettings-override:
+ Dropped, no longer needed as the enabled extension no longer exists.
    Thanks Artur Rona for noticing.
2015-06-29 08:40:05 +00:00
Emilio Pozuelo Monfort
6f1475e944 release to unstable 2015-06-14 13:24:17 +00:00
Emilio Pozuelo Monfort
22256eec46 fix changelog 2015-06-14 12:30:51 +00:00
Emilio Pozuelo Monfort
31a5de2577 * debian/patches/apps-center-labels.patch,
debian/patches/dont-require-nautilus-classic.patch,
  debian/patches/menu-arrows-icons.patch:
  + Dropped, merged upstream.
2015-06-14 12:29:29 +00:00
Emilio Pozuelo Monfort
269e008541 * debian/control.in,
debian/rules:
  + The system monitor extension was removed. Drop the libgtop
    build and runtime dependencies and stop enabling it.
2015-06-14 12:22:40 +00:00
Emilio Pozuelo Monfort
79d866e9b5 New upstream release. 2015-06-14 12:18:06 +00:00
Josselin Mouette
6d4341f8a4 * New upstream bugfix release.
* menu-arrows-icons: new patch. Make arrows consistent with the rest 
  of the shell.
* apps-center-labels.patch: patch from upstream git. Center labels 
  vertically in the applications menu.
* window-list-pointerInNotification.patch: patch from upstream git. 
  Update window-list extension for an older shell API change.
2014-11-30 15:07:11 +00:00
Laurent Bigonville
61dd96a29e Release to unstable 2014-10-19 19:18:06 +00:00
Laurent Bigonville
9e2a8e0fb2 * New upstream release.
* debian/control.in: Bump Standards-Version to 3.9.6 (no further changes)
* Add missing dependencies against gir packages, including gir1.2-gmenu-3.0,
  this should fix the apps-menu extension for some people (Closes: #765460).
2014-10-19 19:17:54 +00:00
Michael Biebl
82ff7afe2b Release version 3.14.0-2 to unstable 2014-09-23 23:16:17 +00:00
Michael Biebl
0017eaebfc * Drop xrandr from EXTENSIONS_DISABLED, this extension was removed
upstream.
* Add new screenshot-window-sizer extension to EXTENSIONS_ENABLED.
2014-09-23 23:14:55 +00:00
Andreas Henriksson
fa729854b8 Move experimental branch to unstable 2014-09-23 13:48:11 +00:00
Andreas Henriksson
5644aebac7 * New upstream release.
* Upload to unstable.
2014-09-23 13:48:01 +00:00
Andreas Henriksson
941f5e43b4 debian/watch: only scan for stable releases. 2014-09-07 01:16:05 +00:00
Andreas Henriksson
a595407d39 New upstream development release. 2014-09-06 18:18:14 +00:00
Andreas Henriksson
60417b361e Branch gnome-shell-extensions to experimental 2014-09-06 18:14:53 +00:00
Andreas Henriksson
c3adf1724c Move experimental branch to unstable 2014-07-15 06:22:51 +00:00
Andreas Henriksson
435bbff3b0 * New upstream release.
* Bump Standards-Version to 3.9.5
* Upload to unstable.
2014-07-15 06:22:30 +00:00
Andreas Henriksson
706ea0dd7e * New upstream release (3.10.1)
* New upstream release (3.12.0)
* debian/local/gnome-session-classic,
  debian/patches/gnome-session-classic-wrapper-script.patch:
  - update script to include new GNOME_SHELL_SESSION_MODE env variable
    and update patch to apply again.
2014-04-04 19:56:02 +00:00
Jean Schurger
e7c37a9d54 * New upstream release
* debian/rules: remove one of the 'windowsNavigator' extension listed twice
  and the 'alternative-system-menu' extension (does not exists anymore)
* debian/copyright: Update 'Format:' line
2013-12-05 17:50:32 +00:00
Emilio Pozuelo Monfort
a7f66d648e Upload to unstable. 2013-10-13 16:13:05 +00:00
Emilio Pozuelo Monfort
013dc818e3 move gnome-shell-extensions exp branch to unstable 2013-10-12 21:09:23 +00:00
Michael Biebl
9430670019 Release version 3.8.4-1 to experimental 2013-10-11 16:56:11 +00:00
Michael Biebl
67c795b610 Add a wrapper script to start the GNOME Classic session as currently
Xsession doesn't allow to run gnome-session with custom arguments due to
#653327.
2013-10-11 16:52:46 +00:00
Michael Biebl
42158401ac Actually drop the patches 2013-10-11 14:41:56 +00:00
Jeremy Bicha
06a9891d77 * New upstream release
* Dropped patches applied in new version:
  - fix-hibernate.patch
  - fix-applications-menu-resolution-change.patch
  - look-in-data-home-for-themes.patch
2013-09-11 20:43:21 +00:00
Andreas Henriksson
c53e5325c3 Upload to experimental 2013-08-16 18:34:09 +00:00
Jeremy Bicha
6161d531fc use canonical Vcs-* fields 2013-07-28 04:21:50 +00:00
Jeremy Bicha
ad52e75e97 * debian/patches/fix-applications-menu-resolution-change.patch:
- Backport commit to not break applications menu when screen resolution
    changes
* debian/patches/fix-hibernate.patch:
  - Backport patch to fix checking whether hibernate is allowed
* debian/patches/look-in-data-home-for-themes.patch:
  - Backport commit to also look in XDG_DATA_HOME (usually ~/.local/share/)
    for user themes
2013-07-21 21:01:44 +00:00
Jeremy Bicha
2db7b6756d * debian/patches/dont-require-nautilus-classic.patch:
- Don't require nautilus-classic since it forces desktop icons
2013-06-29 02:25:53 +00:00
Jeremy Bicha
2f70c6c8a7 update homepages 2013-06-29 02:18:49 +00:00
Jeremy Bicha
8fd8943460 new release, drop git patch 2013-06-17 20:14:26 +00:00
Jeremy Bicha
695b533be1 - Run autoreconf
* debian/patches/git-drop-IsRunnableHelper.patch:
  - Don't run IsRunnableHelper since it's ignored anyway
2013-06-09 00:34:35 +00:00
Jeremy Bicha
491e9fb3e9 * debian/rules:
- Specify the location of gnome-session-check-accelerated
2013-06-09 00:17:39 +00:00
Jeremy Bicha
4d8bccc861 * New upstream release
- default-min-max and static-workspaces extensions have been dropped.
    Use Classic Mode or tweak org.gnome.shell.overrides in dconf-editor
* debian/control.in:
  - Depend on gnome-session and nautilus 3.8, needed for the new
    Classic mode.
2013-06-08 23:57:29 +00:00
Simon McVittie
88b5fea2f9 release to experimental 2013-05-23 08:10:54 +00:00
Simon McVittie
91e886c564 New upstream release 3.8.2
* Install the "classic mode"
* Enable windowNavigator extension (this means we have everything except
  example and xrandr, the same as in the Ubuntu gnome3-team's PPA)
2013-05-23 08:07:17 +00:00
Jean Schurger
1e8ff58d82 * debian/control.in
- Added runtime dependency to 'gvfs' (>= 1.16.0).
    The 'Places' extension rely on a 'gvfs' linked to 'udisks2'.
2013-04-04 14:04:41 +00:00
Jean Schurger
0b84052458 * debian/patches
- fix-places-volume-without-class.diff (fix 'places', #697266)
2013-04-04 13:35:51 +00:00
Jean Schurger
4abc92ef44 New upstream release. 2013-03-27 15:19:34 +00:00
Jean Schurger
d12833afc4 New upstreap release. 2013-03-27 15:19:05 +00:00
Andreas Henriksson
8de34e23a3 fix typo in changelog 2013-03-21 20:39:21 +00:00
Jean Schurger
3158caa1be * New Upstream release.
* Enabled new extensions.
* Dropped 'dock' and 'gajim'.
* Use ./configure instead of autoreconf.
* Bunped Standards-Version to 3.9.4.
* Updated Vcs-Svn.
2013-03-21 17:32:15 +00:00
Victor Seva Lopez
8a6d13c416 Added gnome-tweak-tool as recommends 2012-07-27 07:35:38 +00:00
Michael Biebl
90fe2cfb36 Release version 3.4.0-2 to unstable 2012-05-30 11:23:16 +00:00
Michael Biebl
c91d5ebec1 Upload to unstable. 2012-05-25 05:53:18 +00:00
Michael Biebl
5a00d5e117 Move experimental branch of gnome-shell-extensions to unstable 2012-05-25 05:52:36 +00:00
Michael Biebl
1b938d9d5b Release version 3.4.0-1 to experimental 2012-05-20 22:25:15 +00:00
Michael Biebl
62cbbef068 Bump Standards-Version to 3.9.3 2012-05-20 22:24:52 +00:00
Michael Biebl
684547a66d * Remove 01_status-menu_disable_accounts.patch: The alternative-status-menu
extension no longer recreates the complete user menu but reuses the one
  from gnome-shell, so we can't easily get rid of the "Online Accounts" menu
  entry. We will patch gnome-shell directly instead.
* Remove 02-Revert-all-remove-all-GSettings-usage.patch and
  03-Revert-Remove-all-references-to-localedir-from-metad.patch, no longer
  required.
2012-05-20 22:23:40 +00:00
Michael Biebl
261569c9fd New upstream release. 2012-05-20 20:49:10 +00:00
Michael Biebl
e8d3ad369a Branch gnome-shell-extensions to experimental 2012-05-20 20:43:18 +00:00
Michael Biebl
f81ae009f9 Release version 3.2.3-1 to unstable 2012-02-11 22:29:11 +00:00
Michael Biebl
8b954a2937 Add 03-Revert-Remove-all-references-to-localedir-from-metad.patch: Use
locales from system-wide location.
2012-02-11 22:26:30 +00:00
Michael Biebl
1e58f48f1d Use dh-autoreconf to generate the build system. 2012-02-11 22:08:34 +00:00
Michael Biebl
1a0e9905fb Update enable_extensions to alternative-status-menu@gnome-shell-extensions.gcampax.github.com
See http://git.gnome.org/browse/gnome-shell-extensions/commit/?id=d76abc79c77953de1be4322d96c14e0b8cccf047
2012-02-11 21:58:17 +00:00
Michael Biebl
8a04a843f6 Add debian/patches/02-Revert-all-remove-all-GSettings-usage.patch: Use
GSettings since we install the extensions system-wide.
2012-02-11 21:55:11 +00:00
Michael Biebl
814e57fbd0 Refresh debian/patches/01_status-menu_disable_accounts.patch. 2012-02-11 21:53:25 +00:00
Michael Biebl
f69389a76b * Drop patches which have been merged upstream:
- debian/patches/upstream/*
  - debian/patches/fix-*
2012-02-11 21:50:52 +00:00
Michael Biebl
3f9b1357ff New upstream release. 2012-02-11 21:43:10 +00:00
Michael Biebl
e0cb098823 Remove useless comment from package synopsis
We don't have a package split
2012-02-11 21:28:23 +00:00
Josselin Mouette
bc470533bf 01_status-menu_disable_accounts.patch: new patch. Drop the unusable
advertisement for Google. It is already available in the control 
center anyway.
2011-12-29 09:54:02 +00:00
Michael Biebl
84d4e7efe3 Upload to unstable. 2011-12-13 21:44:11 +00:00
Josselin Mouette
39b900243e Use ${gnome:Version} to generate strict dependencies, it’s very
unlikely that extensions remain compatible after a major upgrade.
2011-12-03 21:10:49 +00:00
Josselin Mouette
017aedadd2 gnome-shell-extensions.gsettings-override: enable the alternative
status menu by default. Closes: #648112.
2011-11-17 00:37:49 +00:00
Michael Biebl
7c06399818 Release version 3.2.0-1 to experimental 2011-11-12 17:32:53 +00:00
Victor Seva Lopez
26646997b0 Add alternate-tab_gnome-shell_version patch. 2011-11-12 16:24:11 +00:00
Victor Seva Lopez
1b3f651c7e Add patch to fix alternate-tab from 661281 bug report. 2011-11-12 16:23:56 +00:00
Victor Seva Lopez
23b002adaa Add gir1.2-gtop-2.0 Depends for systemMonitor extension 2011-11-12 13:03:47 +00:00
Victor Seva Lopez
d9118a8653 Enable systemMonitor.
Add patch to get dock loaded.
2011-11-12 12:41:23 +00:00
Victor Seva Lopez
245714aa0c Added upstream patches
enabled/disabled extensions
2011-11-12 11:39:10 +00:00
Victor Seva Lopez
2618620d04 Use GPL-2.0+ Licence for debian/* 2011-11-07 17:28:11 +00:00
Michael Biebl
1d3d0585a2 * debian/rules:
- Include gnome-get-source.mk.
2011-11-07 17:05:16 +00:00
Michael Biebl
2e263b1cdc Add Vcs-Svn and Vcs-Browser field. 2011-11-07 17:04:20 +00:00
Michael Biebl
f4aece9488 Wrap (Build-)Depends. 2011-11-07 17:02:22 +00:00
Michael Biebl
c1928689da Remove duplicate line in long description 2011-11-07 17:01:12 +00:00
Michael Biebl
6972b3458d * debian/control.in:
- Set pkg-gnome-maintainers@lists.alioth.debian.org as Maintainer and add
    Victor Seva <linuxmaniac@torreviejawireless.org> to Uploaders.
2011-11-07 17:00:45 +00:00
Michael Biebl
bb6634bbb0 debian/watch: Track .xz tarballs. 2011-11-07 16:59:27 +00:00
Michael Biebl
1b2a6bdc72 Merge changelog entries 2011-11-07 16:57:37 +00:00
Michael Biebl
901c12671e Import debian/ directory from https://github.com/linuxmaniac/pkg_gnome-shell-extensions/tree/master/debian 2011-11-07 16:41:45 +00:00
Bilal Akhtar
3c564fd613 Create directory for gnome-shell-extensions 2011-06-11 08:05:17 +00:00
220 changed files with 14302 additions and 14620 deletions

View File

@@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2019 Florian Müllner <fmuellner@gnome.org>
#
# SPDX-License-Identifier: MIT OR LGPL-2.0-or-later
extends:
- ./lint/eslintrc-gjs.yml
- ./lint/eslintrc-shell.yml

12
.gitignore vendored Normal file
View File

@@ -0,0 +1,12 @@
# SPDX-FileCopyrightText: 2011 Giovanni Campagna <gcampagna@src.gnome.org>
# SPDX-FileCopyrightText: 2023 Florian Müllner <fmuellner@gnome.org>
#
# SPDX-License-Identifier: CC0-1.0
po/gnome-shell-extensions.pot
zip-files/
*~
*.patch
*.sw?
.buildconfig
.vscode

View File

@@ -1,6 +1,12 @@
# SPDX-FileCopyrightText: 2017 Florian Müllner <fmuellner@gnome.org>
#
# SPDX-License-Identifier: GPL-2.0-or-later
include:
- remote: 'https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/bbe5232986c9b98eb1efe62484e07216f7d1a4df/templates/fedora.yml'
- remote: "https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/6f86b8bcb0cd5168c32779c4fea9a893c4a0c046/templates/ci-fairy.yml"
- remote: "https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/bc70242ffb8402243e934659ecc1a2d1c89eca2b/templates/ci-fairy.yml"
- project: 'Infrastructure/openshift-images/gnome-release-service'
file: '/ci-templates/release-module.yml'
stages:
- pre_review
@@ -10,7 +16,7 @@ stages:
- deploy
default:
image: registry.gitlab.gnome.org/gnome/gnome-shell/fedora/35:2022-02-18.0
image: registry.gitlab.gnome.org/gnome/gnome-shell/fedora/40:2024-07-11.0
# Cancel jobs if newer commits are pushed to the branch
interruptible: true
# Auto-retry jobs in case of infra failures
@@ -28,6 +34,8 @@ variables:
workflow:
rules:
- if: '$CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS && $CI_PIPELINE_SOURCE == "push"'
when: never
- if: '$CI_MERGE_REQUEST_IID'
- if: '$CI_COMMIT_TAG'
- if: '$CI_COMMIT_BRANCH'
@@ -40,13 +48,6 @@ workflow:
- if: '$CI_COMMIT_BRANCH =~ /^gnome-[0-9-]+$/'
- when: 'manual'
.gnome-shell-extensions.fedora:34:
variables:
FDO_DISTRIBUTION_VERSION: 34
FDO_DISTRIBUTION_TAG: '2021-08-31.0'
FDO_DISTRIBUTION_PACKAGES: >
meson git gettext sassc
.prereview_req: &prereview_req
needs:
- check_commit_log
@@ -90,12 +91,13 @@ check-merge-request:
reports:
junit: check-merge-request-report.xml
build-fedora-container:
extends:
- .fdo.container-build@fedora@x86_64
- .gnome-shell-extensions.fedora:34
stage: prepare
<<: *prereview_req
check-reuse:
stage: pre_review
image:
name: fsfe/reuse:latest
entrypoint: [""]
script:
- reuse lint
js_check:
stage: review
@@ -107,13 +109,23 @@ eslint:
stage: review
<<: *prereview_req
script:
- eslint -o $LINT_LOG -f junit --resolve-plugins-relative-to $(npm root -g) extensions
- export NODE_PATH=$(npm root -g)
- ./.gitlab-ci/run-eslint --output-file ${LINT_LOG} --format junit --stdout
artifacts:
paths:
- ${LINT_LOG}
reports:
junit: ${LINT_LOG}
potfile_js_check:
stage: review
<<: *prereview_req
script:
- gjs-check-potfiles
artifacts:
reports:
junit: gjs-check-potfiles.junit.xml
build-bundles:
stage: build
<<: *prereview_req
@@ -126,14 +138,8 @@ build-bundles:
- zip-files/
fedora-build:
extends:
- .fdo.distribution-image@fedora
- .gnome-shell-extensions.fedora:34
stage: build
needs:
- build-fedora-container
variables:
GIT_SUBMODULE_STRATEGY: normal
<<: *prereview_req
script:
- meson setup build --werror -Dextension_set=all -Dclassic_mode=true
- meson compile -C build
@@ -143,10 +149,22 @@ fedora-build:
paths:
- build
fedora-distinfo:
stage: deploy
needs:
- fedora-build
script:
- .gitlab-ci/export-artifact-path build > dist.env
artifacts:
reports:
dotenv: dist.env
paths:
- build
- dist.env
rules:
- if: '$CI_COMMIT_TAG'
fedora-dist:
extends:
- .fdo.distribution-image@fedora
- .gnome-shell-extensions.fedora:34
stage: deploy
needs:
- fedora-build
@@ -162,9 +180,21 @@ fedora-dist:
fedora-dist-tarball:
extends: fedora-dist
needs:
- fedora-distinfo
artifacts:
expose_as: 'Get tarball here'
paths:
- build/meson-dist/$CI_PROJECT_NAME-$CI_COMMIT_TAG.tar.xz
- $TARBALL_ARTIFACT_PATH
reports:
dotenv: dist.env
rules:
- if: '$CI_COMMIT_TAG'
release-module:
stage: deploy
needs:
- fedora-dist-tarball
extends: .release-module
rules:
- if: '$CI_COMMIT_TAG'

View File

@@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2021 Florian Müllner <fmuellner@gnome.org>
#
# SPDX-License-Identifier: GPL-2.0-or-later
patterns:
deny:
- regex: '^$CI_MERGE_REQUEST_PROJECT_URL/(-/)?merge_requests/$CI_MERGE_REQUEST_IID$'

21
.gitlab-ci/export-artifact-path Executable file
View File

@@ -0,0 +1,21 @@
#!/usr/bin/gjs -m
// SPDX-FileCopyrightText: 2024 Florian Müllner <fmuellner@gnome.org>
//
// SPDX-License-Identifier: GPL-2.0-or-later
import Gio from 'gi://Gio';
import {programArgs, programInvocationName, exit} from 'system';
const [buildDir] = programArgs;
if (!buildDir) {
printerr(`usage: ${programInvocationName} <build-dir>`);
exit(1);
}
const subprocess = Gio.Subprocess.new(
['meson', 'introspect', '--projectinfo', buildDir],
Gio.SubprocessFlags.STDOUT_PIPE);
const [, out] = subprocess.communicate_utf8(null, null);
const {descriptive_name, version} = JSON.parse(out);
print(`TARBALL_ARTIFACT_PATH=${buildDir}/meson-dist/${descriptive_name}-${version}.tar.xz`);

58
.gitlab-ci/run-eslint Executable file
View File

@@ -0,0 +1,58 @@
#!/usr/bin/env node
// SPDX-FileCopyrightText: 2023 Florian Müllner <fmuellner@gnome.org>
//
// SPDX-License-Identifier: GPL-2.0-or-later
const {ESLint} = require('eslint');
console.log(`Running ESLint version ${ESLint.version}...`);
const fs = require('fs');
const path = require('path');
function hasOption(...names) {
return process.argv.some(arg => names.includes(arg));
}
function getOption(...names) {
const optIndex =
process.argv.findIndex(arg => names.includes(arg)) + 1;
if (optIndex === 0)
return undefined;
return process.argv[optIndex];
}
(async function main() {
const outputOption = getOption('--output-file', '-o');
const outputPath = outputOption ? path.resolve(outputOption) : null;
const sourceDir = path.dirname(process.argv[1]);
process.chdir(path.resolve(sourceDir, '..'));
const sources = ['extensions'];
const eslint = new ESLint();
const results = await eslint.lintFiles(sources);
const formatter = await eslint.loadFormatter(getOption('--format', '-f'));
const resultText = formatter.format(results);
if (outputPath) {
fs.mkdirSync(path.dirname(outputPath), {recursive: true});
fs.writeFileSync(outputPath, resultText);
if (hasOption('--stdout')) {
const consoleFormatter = await eslint.loadFormatter();
console.log(consoleFormatter.format(results));
}
} else {
console.log(resultText);
}
process.exitCode = results.some(r => r.errorCount > 0) ? 1 : 0;
})().catch((error) => {
process.exitCode = 1;
console.error(error);
});

22
.reuse/dep5 Normal file
View File

@@ -0,0 +1,22 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: gnome-shell-extensions
Upstream-Contact: Florian Müllner <fmuellner@gnome.org>
Source: https://gitlab.gnome.org/GNOME/gnome-shell-extensions
Files: NEWS README.md HACKING.md data/HACKING
Copyright: No rights reserved
License: CC0-1.0
Files: *.json.in *.desktop.in *.gschema.override
Copyright: Florian Müllner <fmuellner@gnome.org>
License: GPL-2.0-or-later
# managed by translation teams
Files: po/*.po
Copyright: GNOME Translation Teams <i18n@gnome.org>
License: GPL-2.0-or-later
# managed by translation teams
Files: po/LINGUAS po/POTFILES.in
Copyright: No rights reserved
License: CC0-1.0

121
LICENSES/CC0-1.0.txt Normal file
View File

@@ -0,0 +1,121 @@
Creative Commons Legal Code
CC0 1.0 Universal
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
HEREUNDER.
Statement of Purpose
The laws of most jurisdictions throughout the world automatically confer
exclusive Copyright and Related Rights (defined below) upon the creator
and subsequent owner(s) (each and all, an "owner") of an original work of
authorship and/or a database (each, a "Work").
Certain owners wish to permanently relinquish those rights to a Work for
the purpose of contributing to a commons of creative, cultural and
scientific works ("Commons") that the public can reliably and without fear
of later claims of infringement build upon, modify, incorporate in other
works, reuse and redistribute as freely as possible in any form whatsoever
and for any purposes, including without limitation commercial purposes.
These owners may contribute to the Commons to promote the ideal of a free
culture and the further production of creative, cultural and scientific
works, or to gain reputation or greater distribution for their Work in
part through the use and efforts of others.
For these and/or other purposes and motivations, and without any
expectation of additional consideration or compensation, the person
associating CC0 with a Work (the "Affirmer"), to the extent that he or she
is an owner of Copyright and Related Rights in the Work, voluntarily
elects to apply CC0 to the Work and publicly distribute the Work under its
terms, with knowledge of his or her Copyright and Related Rights in the
Work and the meaning and intended legal effect of CC0 on those rights.
1. Copyright and Related Rights. A Work made available under CC0 may be
protected by copyright and related or neighboring rights ("Copyright and
Related Rights"). Copyright and Related Rights include, but are not
limited to, the following:
i. the right to reproduce, adapt, distribute, perform, display,
communicate, and translate a Work;
ii. moral rights retained by the original author(s) and/or performer(s);
iii. publicity and privacy rights pertaining to a person's image or
likeness depicted in a Work;
iv. rights protecting against unfair competition in regards to a Work,
subject to the limitations in paragraph 4(a), below;
v. rights protecting the extraction, dissemination, use and reuse of data
in a Work;
vi. database rights (such as those arising under Directive 96/9/EC of the
European Parliament and of the Council of 11 March 1996 on the legal
protection of databases, and under any national implementation
thereof, including any amended or successor version of such
directive); and
vii. other similar, equivalent or corresponding rights throughout the
world based on applicable law or treaty, and any national
implementations thereof.
2. Waiver. To the greatest extent permitted by, but not in contravention
of, applicable law, Affirmer hereby overtly, fully, permanently,
irrevocably and unconditionally waives, abandons, and surrenders all of
Affirmer's Copyright and Related Rights and associated claims and causes
of action, whether now known or unknown (including existing as well as
future claims and causes of action), in the Work (i) in all territories
worldwide, (ii) for the maximum duration provided by applicable law or
treaty (including future time extensions), (iii) in any current or future
medium and for any number of copies, and (iv) for any purpose whatsoever,
including without limitation commercial, advertising or promotional
purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
member of the public at large and to the detriment of Affirmer's heirs and
successors, fully intending that such Waiver shall not be subject to
revocation, rescission, cancellation, termination, or any other legal or
equitable action to disrupt the quiet enjoyment of the Work by the public
as contemplated by Affirmer's express Statement of Purpose.
3. Public License Fallback. Should any part of the Waiver for any reason
be judged legally invalid or ineffective under applicable law, then the
Waiver shall be preserved to the maximum extent permitted taking into
account Affirmer's express Statement of Purpose. In addition, to the
extent the Waiver is so judged Affirmer hereby grants to each affected
person a royalty-free, non transferable, non sublicensable, non exclusive,
irrevocable and unconditional license to exercise Affirmer's Copyright and
Related Rights in the Work (i) in all territories worldwide, (ii) for the
maximum duration provided by applicable law or treaty (including future
time extensions), (iii) in any current or future medium and for any number
of copies, and (iv) for any purpose whatsoever, including without
limitation commercial, advertising or promotional purposes (the
"License"). The License shall be deemed effective as of the date CC0 was
applied by Affirmer to the Work. Should any part of the License for any
reason be judged legally invalid or ineffective under applicable law, such
partial invalidity or ineffectiveness shall not invalidate the remainder
of the License, and in such case Affirmer hereby affirms that he or she
will not (i) exercise any of his or her remaining Copyright and Related
Rights in the Work or (ii) assert any associated claims and causes of
action with respect to the Work, in either case contrary to Affirmer's
express Statement of Purpose.
4. Limitations and Disclaimers.
a. No trademark or patent rights held by Affirmer are waived, abandoned,
surrendered, licensed or otherwise affected by this document.
b. Affirmer offers the Work as-is and makes no representations or
warranties of any kind concerning the Work, express, implied,
statutory or otherwise, including without limitation warranties of
title, merchantability, fitness for a particular purpose, non
infringement, or the absence of latent or other defects, accuracy, or
the present or absence of errors, whether or not discoverable, all to
the greatest extent permissible under applicable law.
c. Affirmer disclaims responsibility for clearing rights of other persons
that may apply to the Work or any use thereof, including without
limitation any person's Copyright and Related Rights in the Work.
Further, Affirmer disclaims responsibility for obtaining any necessary
consents, permissions or other rights required for any use of the
Work.
d. Affirmer understands and acknowledges that Creative Commons is not a
party to this document and has no duty or obligation with respect to
this CC0 or use of the Work.

View File

@@ -0,0 +1,117 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too.
When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.
Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and modification follow.
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.
You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.
10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.
one line to give the program's name and an idea of what it does. Copyright (C) yyyy name of author
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker.
signature of Ty Coon, 1 April 1989 Ty Coon, President of Vice

View File

@@ -0,0 +1,174 @@
GNU LIBRARY GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1991 Free Software Foundation, Inc.
51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
[This is the first released version of the library GPL. It is numbered 2 because it goes with version 2 of the ordinary GPL.]
Preamble
The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users.
This license, the Library General Public License, applies to some specially designated Free Software Foundation software, and to any other libraries whose authors decide to use it. You can use it for your libraries, too.
When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library, or if you modify it.
For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link a program with the library, you must provide complete object files to the recipients so that they can relink them with the library, after making changes to the library and recompiling it. And you must show them these terms so they know their rights.
Our method of protecting your rights has two steps: (1) copyright the library, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the library.
Also, for each distributor's protection, we want to make certain that everyone understands that there is no warranty for this free library. If the library is modified by someone else and passed on, we want its recipients to know that what they have is not the original version, so that any problems introduced by others will not reflect on the original authors' reputations.
Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that companies distributing free software will individually obtain patent licenses, thus in effect transforming the program into proprietary software. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
Most GNU software, including some libraries, is covered by the ordinary GNU General Public License, which was designed for utility programs. This license, the GNU Library General Public License, applies to certain designated libraries. This license is quite different from the ordinary one; be sure to read it in full, and don't assume that anything in it is the same as in the ordinary license.
The reason we have a separate public license for some libraries is that they blur the distinction we usually make between modifying or adding to a program and simply using it. Linking a program with a library, without changing the library, is in some sense simply using the library, and is analogous to running a utility program or application program. However, in a textual and legal sense, the linked executable is a combined work, a derivative of the original library, and the ordinary General Public License treats it as such.
Because of this blurred distinction, using the ordinary General Public License for libraries did not effectively promote software sharing, because most developers did not use the libraries. We concluded that weaker conditions might promote sharing better.
However, unrestricted linking of non-free programs would deprive the users of those programs of all benefit from the free status of the libraries themselves. This Library General Public License is intended to permit developers of non-free programs to use free libraries, while preserving your freedom as a user of such programs to change the free libraries that are incorporated in them. (We have not seen how to achieve this as regards changes in header files, but we have achieved it as regards changes in the actual functions of the Library.) The hope is that this will lead to faster development of free libraries.
The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, while the latter only works together with the library.
Note that it is possible for a library to be covered by the ordinary General Public License rather than by this special one.
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Library General Public License (also called "this License"). Each licensee is addressed as "you".
A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library.
Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library.
You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful.
(For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.)
These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library.
In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices.
Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of the Library into a program that is not a library.
4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange.
If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also compile or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things:
a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.)
b) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution.
c) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place.
d) Verify that the user has already received a copy of these materials or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute.
7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things:
a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above.
b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library.
If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
13. The Free Software Foundation may publish revised and/or new versions of the Library General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Libraries
If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that everyone can redistribute and change. You can do so by permitting redistribution under these terms (or, alternatively, under the terms of the ordinary General Public License).
To apply these terms, attach the following notices to the library. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.
one line to give the library's name and an idea of what it does.
Copyright (C) year name of author
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details.
You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
Also add information on how to contact you by electronic and paper mail.
You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in
the library `Frob' (a library for tweaking knobs) written
by James Random Hacker.
signature of Ty Coon, 1 April 1990
Ty Coon, President of Vice
That's all there is to it!

9
LICENSES/MIT.txt Normal file
View File

@@ -0,0 +1,9 @@
MIT License
Copyright (c) <year> <copyright holders>
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

170
NEWS
View File

@@ -1,3 +1,173 @@
47.0
====
Translators:
twlvnn kraftwerk [bg], Alexander Shopov [bg], Fran Dieguez [gl],
Aurimas Černius [lt], Daniel [es], Andika Triwidada [id],
Andi Chandler [en_GB], Ask Hjorth Larsen [da], Aefgh Threenine [th],
Dušan Kazik [sk], Rūdolfs Mazurs [lv], Irénée THIRION [fr]
47.rc
=====
* Misc. bug fixes and cleanups [Sophie; !333]
Contributors:
Sophie Herold
Translators:
Daniel Șerbănescu [ro], Giannis Antypas [el], Ekaterine Papava [ka],
Jordi Mas i Hernandez [ca], Yuri Chornoivan [uk], Jiri Grönroos [fi],
Daniel Rusek [cs], Vasil Pupkin [be], Luming Zh [zh_CN], Brage Fuglseth [nb],
Asier Sarasua Garmendia [eu], Danial Behzadi [fa], Rafael Fontenelle [pt_BR],
Quentin PAGÈS [oc], Anders Jonsson [sv], Jürgen Benvenuti [de],
Changwoo Ryu [ko], Hugo Carvalho [pt], Piotr Drąg [pl], Sabri Ünal [tr]
47.beta
=======
* window-list: Modernize styling [Jakub; !330]
* Include "status-icons" extension [Florian; !194]
* Misc. bug fixes and cleanups [Florian; !328, !331, !327]
Contributors:
Florian Müllner, Jakub Steiner
Translators:
Sabri Ünal [tr], Chao-Hsiung Liao [zh_TW]
47.alpha
========
* Improve workspace previews in window-list and workspace-indicator
[Florian; !307, !316]
* apps-menu: Fix a11y of category labels [Florian; !319]
* window-list: Fix long-press support [Florian; !320]
* window-list: Animate transitions [Florian; !325]
* Misc. bug fixes and cleanups [Florian; !315, !321, !324]
Contributors:
Florian Müllner
Translators:
Jordi Mas i Hernandez [ca], Martin [sl], Hugo Carvalho [pt], Jose Riha [sk],
Scrambled 777 [hi], Artur S0 [ru], Милош Поповић [sr], Yosef Or Boczko [he],
Balázs Úr [hu]
46.1
====
* screenshot-window-sizer: Add flathub-recommended size [Florian; !317]
Contributors:
Florian Müllner
Translators:
Rachida SACI [kab], Matheus Polkorny [pt_BR], Fabio Tomat [fur]
46.0
====
* system-monitor: Fix net speed [Florian; !313]
* Misc. bug fixes and cleanups [Aral; !311]
Contributors:
Aral Balkan, Florian Müllner
Translators:
Anders Jonsson [sv], Piotr Drąg [pl], Balázs Úr [hu], Milo Casagrande [it],
Quentin PAGÈS [oc], Athmane MOKRAOUI [kab], Changwoo Ryu [ko],
Ask Hjorth Larsen [da]
46.rc
=====
* Fix window previews in workspace indicator [Florian; !304]
* Fix menu ornament in workspace indicator [Florian; !305]
* Misc. bug fixes and cleanups [Florian; !306, !309]
Contributors:
Florian Müllner
Translators:
Danial Behzadi [fa], Ekaterine Papava [ka], Sabri Ünal [tr], Artur S0 [ru],
Yuri Chornoivan [uk], Vasil Pupkin [be], Asier Sarasua Garmendia [eu],
Yaron Shahrabani [he], Brage Fuglseth [nb], Nathan Follens [nl],
Aurimas Černius [lt], Matej Urbančič [sl], Boyuan Yang [zh_CN],
Kukuh Syafaat [id], Fran Dieguez [gl], Andi Chandler [en_GB],
Baurzhan Muftakhidinov [kk], Rūdolfs Mazurs [lv], Guillaume Bernard [fr],
Daniel Mustieles [es], Jiri Grönroos [fi]
46.beta
=======
* apps-menu: Rename Applications to Apps [Allan; !299]
* Misc. bug fixes and cleanups [Florian; !296, !297, !300, !301, !302]
Contributors:
Allan Day, Florian Müllner
Translators:
Gabriel Brand [de], Daniel Rusek [cs], Fran Dieguez [gl],
Aefgh Threenine [th], Vasil Pupkin [be], Artur S0 [ru], Yosef Or Boczko [he],
Sabri Ünal [tr]
46.alpha
========
* workspace-indicator: Fix initial preview visibility [Florian; !280, !292]
* screenshot-window-sizer: Fix cycling between sizes backwards [Florian; !284]
* Add back overview in Classic session [Florian; !287]
* Allow running Classic session headless [Jonas; !289]
* window-list: Fix buttons not being clickable at the screen edge
[Florian; !291]
* Add system-monitor extension [Florian; !277]
* Fixed crash [Florian; !290]
* Misc. bug fixes and cleanups [Florian; !276, !275, !278, !281, !286, !288]
Contributors:
Jonas Ådahl, Florian Müllner
Translators:
Kristjan SCHMIDT [eo], Brage Fuglseth [nb]
45.0
====
Contributors:
Andre Klapper
Translators:
Bruce Cowan [en_GB]
45.rc
=====
* Misc. bug fixes and cleanups [Florian; !267, !224, !272]
Contributors:
Florian Müllner
Translators:
Sabri Ünal [tr], Florentina Musat [ro], A S Alam [pa]
45.beta
=======
* Port extensions to ESM [Florian; !259, !266, !268, !269]
* Misc. bug fixes and cleanups [Florian; !260, !261, !262, !263, !264]
Contributors:
Florian Müllner
Translators:
Efstathios Iosifidis [el]
45.alpha
========
* window-list: Modernize default styling [Alexander; !253]
* Replace classic styling with built-in light style [Florian; !254]
* window-list: Add tooltip for long window titles [Arik; !251]
* light-style: New extension [Florian; !256]
* Misc. bug fixes and cleanups [Florian; !255, !257]
Contributors:
Florian Müllner, Arik W, Alexander Weichart
44.0
====
* Bump version
44.rc
=====
* Bump version

View File

@@ -51,7 +51,7 @@ GSettings key.
* screenshot-window-sizer
Adds a shortcut for resizing the focus window to a size that is suitable for GNOME Software screenshots
Adds a shortcut for resizing the focus window to a size that is suitable for GNOME Software screenshots. Ctrl + Alt + s cycles forwards through the available sizes and Ctrl + Alt + Shift + s cycles backwards.
* user-theme

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 100 KiB

View File

@@ -1,10 +1,9 @@
{
"parentMode": "user",
"stylesheetName": "gnome-classic.css",
"hasOverview": false,
"colorScheme": "force-light",
"showWelcomeDialog": false,
"enabledExtensions": [@CLASSIC_EXTENSIONS@],
"panel": { "left": ["appMenu"],
"panel": { "left": ["activities"],
"center": [],
"right": ["a11y", "keyboard", "dateMenu", "quickSettings"]
}

View File

@@ -1,5 +0,0 @@
@import url("gnome-classic.css");
stage {
-st-icon-style: symbolic;
}

View File

@@ -6,3 +6,4 @@ TryExec=gnome-session
Type=Application
DesktopNames=GNOME-Classic;GNOME;
X-GDM-SessionRegisters=true
X-GDM-CanRunHeadless=true

View File

@@ -6,3 +6,4 @@ TryExec=gnome-session
Type=Application
DesktopNames=GNOME-Classic;GNOME;
X-GDM-SessionRegisters=true
X-GDM-CanRunHeadless=true

View File

@@ -1,95 +0,0 @@
/* Use the gnome-shell theme, but with light colors */
$variant: 'light';
@import "gnome-shell-sass/_colors"; //use gtk colors
@import "gnome-shell-sass/_drawing";
@import "gnome-shell-sass/_common";
@import "gnome-shell-sass/_widgets";
/* Overrides */
#panel, #panel.solid {
font-weight: normal;
background-color: $bg_color;
background-gradient-direction: vertical;
background-gradient-end: darken($bg_color,5%);
border-top-color: #666; /* we don't support non-uniform border-colors and
use the top border color for any border, so we
need to set it even if all we want is a bottom
border */
border-bottom: 1px solid #666;
app-icon-bottom-clip: 0px;
&:overview {
background-color: #000;
background-gradient-end: #000;
border-top-color: #000;
border-bottom: 1px solid #000;
.panel-button { color: #fff; }
}
.panel-button {
-natural-hpadding: 8px;
-minimum-hpadding: 4px;
font-weight: normal;
color: $fg_color;
text-shadow: none;
transition-duration: 0ms;
border: 0;
border-radius: 0px;
&.clock-display {
.clock {
transition-duration: 0ms;
border: 0;
border-radius: 0px;
}
}
&:hover {
color: lighten($fg_color,10%);
text-shadow: none;
& .system-status-icon { icon-shadow: none; }
}
&:active, &:overview, &:focus, &:checked {
// Trick due to St limitations. It needs a background to draw
// a box-shadow
background-color: $selected_bg_color;
color: $selected_fg_color;
box-shadow: none;
& > .system-status-icon { icon-shadow: none; }
}
.app-menu-icon { width: 0; height: 0; margin: 0; } // shell's display:none; :D
.system-status-icon {
icon-shadow: none;
}
}
.panel-corner,
.panel-corner:active,
.panel-corner:overview,
.panel-corner:focus {
-panel-corner-radius: 0;
}
&.lock-screen,
&.unlock-screen,
&.login-screen {
background-color: transparentize($bg_color, 0.5);
background-gradient-start: transparentize($bg_color, 0.5);
background-gradient-end: transparentize($bg_color, 0.5);
border-bottom: none;
.panel-button { color: $osd_fg_color; }
}
}
#appMenu {
spinner-image: url("classic-process-working.svg");
.panel-status-menu-box { padding: 0; }
}
.tile-preview-left.on-primary,
.tile-preview-right.on-primary,
.tile-preview-left.tile-preview-right.on-primary {
/* keep in sync with -panel-corner-radius */
border-radius: 0;
}

View File

@@ -1,339 +0,0 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc. <http://fsf.org>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.

View File

@@ -1,16 +0,0 @@
# GNOME Shell Sass
GNOME Shell Sass is a project intended to allow the sharing of the
theme sources in sass between gnome-shell and other projects like
gnome-shell-extensions.
Any changes should be done in the [GNOME Shell subtree][shell-subtree]
and not the stand-alone [gnome-shell-sass repository][sass-repo]. They
will then be synchronized periodically before releases.
## License
GNOME Shell Sass is distributed under the terms of the GNU General Public
License, version 2 or later. See the [COPYING][license] file for details.
[shell-subtree]: https://gitlab.gnome.org/GNOME/gnome-shell/tree/HEAD/data/theme/gnome-shell-sass
[sass-repo]: https://gitlab.gnome.org/GNOME/gnome-shell-sass
[license]: COPYING

View File

@@ -1,70 +0,0 @@
// When color definition differs for dark and light variant,
// it gets @if-ed depending on $variant
@import '_palette.scss';
$is_highcontrast:false;
$_dark_base_color: desaturate($dark_4, 100%);
$base_color: if($variant == 'light', $light_1, $_dark_base_color);
$bg_color: if($variant == 'light', $light_2, lighten($base_color, 5%));
$fg_color: if($variant == 'light', transparentize(black, .2), white);
$selected_fg_color: $light_1;
$selected_bg_color: $blue_3;
$selected_borders_color: if($variant== 'light', darken($selected_bg_color, 15%), darken($selected_bg_color, 20%));
$borders_color: if($variant == 'light', transparentize($fg_color, .5), transparentize($fg_color, .9));
$outer_borders_color: if($variant == 'light', rgba(255,255,255,0.8), lighten($bg_color, 5%));
$link_color: if($variant == 'light', darken($selected_bg_color, 10%), lighten($selected_bg_color, 20%));
$link_visited_color: if($variant == 'light', darken($selected_bg_color, 20%), lighten($selected_bg_color, 10%));
$warning_color: if($variant == 'light', $yellow_5, #cd9309);
$error_color: if($variant == 'light', $red_3, $red_4);
$success_color: if($variant == 'light', $green_4, $green_5);
$destructive_color: $error_color;
$osd_fg_color: $light_1;
$osd_bg_color: $_dark_base_color; //hardcoded for both light & dark
$osd_insensitive_bg_color: transparentize(mix($osd_fg_color, opacify($osd_bg_color, 1), 10%), 0.5);
$osd_insensitive_fg_color: if($variant == 'light', mix($osd_fg_color, $osd_bg_color, 80%), mix($osd_fg_color, $osd_bg_color, 70%));
$osd_borders_color: transparentize(black, 0.3);
$osd_outer_borders_color: transparentize($osd_fg_color, 0.9);
$shadow_color: if($variant == 'light', rgba(0,0,0,0.1), rgba(0,0,0,0.2));
// button
$button_mix_factor: 9%;
// notifications
$bubble_buttons_color: if($variant == 'light', darken($bg_color, 7%), lighten($bg_color, 5%));
// overview background color
$system_bg_color: $base_color;
//insensitive state derived colors
$insensitive_fg_color: mix($fg_color, $bg_color, 50%);
$insensitive_bg_color: mix($bg_color, $base_color, 60%);
$insensitive_borders_color: mix($borders_color, $base_color, 60%);
//colors for the backdrop state, derived from the main colors.
$backdrop_base_color: if($variant =='light', darken($base_color,1%), lighten($base_color,1%));
$backdrop_bg_color: $bg_color;
$backdrop_fg_color: mix($fg_color, $backdrop_bg_color, 80%);
$backdrop_insensitive_color: if($variant =='light', darken($backdrop_bg_color,15%), lighten($backdrop_bg_color,15%));
$backdrop_borders_color: mix($borders_color, $bg_color, 90%);
$backdrop_dark_fill: mix($backdrop_borders_color,$backdrop_bg_color, 35%);
// derived checked colors
$checked_bg_color: if($variant=='light', darken($bg_color, 7%), lighten($bg_color, 7%));
$checked_fg_color: if($variant=='light', darken($fg_color, 7%), lighten($fg_color, 7%));
// derived hover colors
$hover_bg_color: if($variant=='light', darken($bg_color, 3%), lighten($bg_color, 10%));
$hover_fg_color: if($variant=='light', darken($fg_color, 5%), lighten($fg_color, 10%));
// derived active colors
$active_bg_color: if($variant=='light', darken($bg_color, 5%), lighten($bg_color, 12%));
$active_fg_color: if($variant=='light', darken($fg_color, 5%), lighten($fg_color, 12%));

View File

@@ -1,245 +0,0 @@
//This is the RIGHT PLACE to edit the stylesheet
//let's start by telling people not to edit the generated CSS:
$cakeisalie: "This stylesheet is generated, DO NOT EDIT";
/* #{$cakeisalie} */
/* Copyright 2009, 2015 Red Hat, Inc.
*
* Portions adapted from Mx's data/style/default.css
* Copyright 2009 Intel Corporation
*
* This program is free software; you can redistribute it and/or modify it
* under the terms and conditions of the GNU Lesser General Public License,
* version 2.1, as published by the Free Software Foundation.
*
* This program is distributed in the hope it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
* more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
*/
/* Global Values */
// padding, margin and spacing
$base_padding: 6px;
$base_margin: 4px;
// border radii
$base_border_radius: 8px;
// radii of things that display over other things, e.g. popovers
$modal_radius: $base_border_radius*2; // 24px
// Chroma key to flag when a background-color is always occluded, not visible.
// This allows any box-shadow behind it to be rendered more efficiently by
// omitting the middle rectangle.
$invisible_occluded_bg_color: rgba(3,2,1,0);
// fonts
$base_font_size: 11;
$text_shadow_color: if($variant == 'light', rgba(255,255,255,0.3), rgba(0,0,0,0.2));
// icons
$base_icon_size: 1.09em;
$large_icon_size: $base_icon_size*2; // 32px
// $base_icon_size: 16px;
// Stage
stage {
@include fontsize($base_font_size);
color: $fg_color;
}
/* Common Stylings */
// osd panels
%osd_panel {
color: $osd_fg_color;
background-color: $osd_bg_color;
border: 1px solid $osd_outer_borders_color;
border-radius: 999px;
padding: $base_padding*2;
@if $is_highcontrast {
border: 2px solid $hc_inset_color;
}
}
// icon tiles
%tile {
border-radius: $base_border_radius * 2; // 16px
padding: $base_padding;
spacing: $base_padding;
border: 2px solid transparent;
transition-duration: 200ms;
text-align: center;
@if $is_highcontrast {
border-color: $hc_inset_color;
}
}
// normal button styling
%button {
border-radius: $base_border_radius;
border-style: solid;
border-width: 1px;
font-weight: bold;
padding: $base_padding*.5 $base_padding*4;
@include button(normal);
&:focus { @include button(focus);}
&:hover { @include button(hover);}
&:insensitive { @include button(insensitive);}
&:selected,
&:active { @include button(active);}
&:checked { @include button(checked);}
&.flat {
@include button(normal, $flat:true);
&:focus { @include button(focus, $flat:true);}
&:hover { @include button(hover, $flat:true);}
&:insensitive { @include button(insensitive, $flat:true);}
&:selected,
&:active { @include button(active, $flat:true);}
&:checked { @include button(checked, $flat:true);}
}
}
// normal entry style
%entry {
border-radius: $base_border_radius;
padding: $base_padding*1.5 $base_padding*1.5;
color: $fg_color;
selection-background-color: $selected_bg_color;
selected-color: $selected_fg_color;
@include entry(normal);
&:hover { @include entry(hover);}
&:focus { @include entry(focus);}
&:insensitive { @include entry(insensitive);}
}
// buttons in dialogs/notifications
// lighter in color and have a greater radius
%bubble_button {
padding: $base_padding * 2;
font-weight: bold !important;
&:ltr {margin-right: 1px;}
&:rtl {margin-left: 1px;}
@include button(normal, $c:$bubble_buttons_color);
&:insensitive { @include button(insensitive, $c:$bubble_buttons_color);}
&:focus { @include button(focus, $c:$bubble_buttons_color);}
&:hover { @include button(hover, $c:$bubble_buttons_color);}
&:active { @include button(active, $c:$bubble_buttons_color);}
&:checked { @include button(checked, $c:$bubble_buttons_color);}
&:first-child:ltr {
border-radius: 0 0 0 $modal_radius;
}
&:last-child:ltr {
border-radius: 0 0 $modal_radius;
margin-right: 0 !important;
}
&:first-child:rtl {
border-radius: 0 0 $modal_radius;
}
&:last-child:rtl {
border-radius: 0 0 0 $modal_radius;
margin-left: 0 !important;
}
&:first-child:last-child {
border-radius: 0 0 $modal_radius $modal_radius;
margin-left: 0 !important;
margin-right: 0 !important;
}
}
// buttons on OSD elements
// that are undecorated by default and use OSD colors
%osd_button {
@include button(undecorated);
&:insensitive { @include button(undecorated, $tc:$osd_fg_color, $c:$osd_bg_color);}
&:focus { @include button(focus, $tc:$osd_fg_color, $c:$osd_bg_color);}
&:hover { @include button(hover, $tc:$osd_fg_color, $c:$osd_bg_color);}
&:active { @include button(active, $tc:$osd_fg_color, $c:$osd_bg_color);}
&:outlined,&:checked { @include button(checked, $tc:$osd_fg_color, $c:$osd_bg_color);}
}
// tooltip
%tooltip {
background-color: $osd_bg_color;
color: $osd_fg_color;
border:1px solid $osd_outer_borders_color;
border-radius: 99px;
padding: $base_padding $base_padding * 2;
text-align: center;
@if $is_highcontrast {
background-color: $osd_bg_color;
color: $osd_fg_color;
border: 1px solid $hc_inset_color;
}
}
/* General Typography */
%large_title {
font-weight: 300;
@include fontsize(24);
}
%title_1 {
font-weight: 800;
@include fontsize(20);
}
%title_2 {
font-weight: 800;
@include fontsize(15);
}
%title_3 {
font-weight: 700;
@include fontsize(15);
}
%title_4 {
font-weight: 700;
@include fontsize(13);
}
%heading {
font-weight: 700;
@include fontsize(11);
}
%caption_heading {
font-weight: 700;
@include fontsize(9);
}
%caption {
font-weight: 400;
@include fontsize(9);
}
%smaller {
font-weight: 400;
@include fontsize(8);
}
%monospace {font-family: monospace;}
%numeric { font-feature-settings: "tnum";}

View File

@@ -1,350 +0,0 @@
// Drawing mixins
// generic drawing of more complex things
@function draw_widget_edge($c:$outer_borders_color) {
// outer highlight "used" on most widgets
@return 0 1px $c;
}
// provide font size in rem, with px fallback
@mixin fontsize($size: 24, $base: 16) {
font-size: round($size) + pt;
//font-size: ($size / $base) * 1rem;
}
@mixin draw_shadows($shadow1, $shadow2:none, $shadow3:none, $shadow4:none) {
//
// Helper function to stack up to 4 box-shadows;
//
@if $shadow4!=none { box-shadow: $shadow1, $shadow2, $shadow3, $shadow4; }
@else if $shadow3!=none { box-shadow: $shadow1, $shadow2, $shadow3; }
@else if $shadow2!=none { box-shadow: $shadow1, $shadow2; }
@else { box-shadow: $shadow1; }
}
// entries
@mixin entry($t, $fc:$selected_bg_color) {
//
// Entries drawing function
//
// $t: entry type
// $fc: focus color
//
// possible $t values:
// normal, focus, insensitive
//
transition-duration: 100ms;
@if $t==normal {
background-color: transparentize($fg_color, 0.9);
color: transparentize($fg_color,0.3);
@if $is_highcontrast {
box-shadow: inset 0 0 0 1px $hc_inset_color;
}
}
@if $t==focus {
background-color: mix(transparentize($fg_color, 0.8), $selected_bg_color, 95%);
box-shadow: inset 0 0 0 2px $fc;
color: $fg_color;
&:hover {}
}
@if $t==hover {
background-color:transparentize($fg_color, 0.8);
color: inherit;
}
@if $t==insensitive {
background-color:transparentize($insensitive_fg_color, 0.8);
color: $insensitive_fg_color;
}
}
// On-screen Keyboard
@mixin keyboard_key($t, $c:$osd_bg_color, $tc:$osd_fg_color) {
//
// Keyboard key drawing function
//
// $t: key type,
// $c: base key color for colored* types
// $tc: optional text color for colored* types
//
// possible $t values:
// normal, hover, active, insensitive, insensitive-active,
// backdrop, backdrop-active, backdrop-insensitive, backdrop-insensitive-active,
// osd, osd-hover, osd-active, osd-insensitive, osd-backdrop, undecorated
//
// normal key
@if $t==normal {
color: $tc;
background-color: lighten($c, 3%);
}
// focused key
@if $t==focus {
color: $tc;
background-color: mix(lighten($c, 3%), $selected_bg_color, 90%);
box-shadow: inset 0 0 0 2px transparentize($selected_bg_color, 0.4);
&:hover {
background-color: mix(lighten($c, 8%), $selected_bg_color, 90%);
box-shadow: inset 0 0 0 2px transparentize($selected_bg_color, 0.3);
}
&:active {
background-color: mix(lighten($c, 10%), $selected_bg_color, 90%);
box-shadow: inset 0 0 0 2px transparentize($selected_bg_color, 0.3);
}
}
// hover key
@else if $t==hover {
color: $tc;
background-color: lighten($c, 7%);
}
// active key
@else if $t==active {
color: $tc;
background-color: lighten($c, 10%);
}
// checked key
@else if $t==checked {
color: $tc;
background-color: lighten($c, 15%);
}
// insensitive key
@else if $t==insensitive {
color: $insensitive_fg_color;
background-color: $insensitive_bg_color;
}
// reset
@else if $t==undecorated {
background-color: transparent;
background-image: none;
}
}
//
// Button drawing function
//
// $t: button type,
// $c: base button colors, derived from fg_color
// $tc: base button colors, derived from fg_color
//
// possible $t values:
// normal, hover, active, insensitive, insensitive-active,
// backdrop, backdrop-active, backdrop-insensitive, backdrop-insensitive-active,
// osd, osd-hover, osd-active, osd-insensitive, osd-backdrop, undecorated
//
// since buttons are all flat an borderless now the mixin is simpler
@mixin button($t, $tc:$fg_color, $c:$bg_color, $flat: false) {
$button_bg_color: mix($tc, $c, $button_mix_factor);
transition-duration: 100ms;
// normal button
@if $t==normal {
color: $tc;
background-color: $button_bg_color;
@if $flat {
background-color: transparent;
}
@if $is_highcontrast {
box-shadow: inset 0 0 0 1px $hc_inset_color;
}
}
// hover button
@else if $t==hover {
color: $tc;
background-color: lighten($button_bg_color, 3%);
@if $is_highcontrast {
box-shadow: inset 0 0 0 1px $hc_inset_color !important;
}
}
// active button
@else if $t==active {
color: $tc;
background-color: lighten($button_bg_color, 9%);
}
// checked button
@else if $t==checked {
color: $tc;
background-color: lighten($button_bg_color, 9%);
&:hover { background-color: lighten($button_bg_color, 12%);}
&:active { background-color: lighten($button_bg_color, 15%);}
}
// focused button
@if $t==focus {
color: $tc;
background-color: mix($button_bg_color, $selected_bg_color, 90%);
box-shadow: inset 0 0 0 2px transparentize($selected_bg_color, 0.4) !important;
&:hover {
background-color: mix(lighten($button_bg_color, 3%), $selected_bg_color, 90%);
box-shadow: inset 0 0 0 2px transparentize($selected_bg_color, 0.3) !important;
}
&:active {
background-color: mix(lighten($button_bg_color, 6%), $selected_bg_color, 90%);
box-shadow: inset 0 0 0 2px transparentize($selected_bg_color, 0.3) !important;
}
}
// insensitive button
@else if $t==insensitive {
color: transparentize($tc, 0.5);
background-color: transparentize($tc, .95);
}
// default/suggested button
@else if $t==default {
background-color: $selected_bg_color;
color: $selected_fg_color;
&:focus {
box-shadow: inset 0 0 0 2px transparentize($selected_fg_color, .4) !important;
}
&:hover, &:focus {
background-color: lighten($selected_bg_color, 5%);
color: lighten($selected_fg_color, 5%);
}
&:active {
background-color: darken($selected_bg_color, 7%);
color: darken($selected_fg_color, 7%);
}
&:insensitive {
@include button(insensitive);
background-color: transparentize($selected_bg_color, .5);
color: transparentize($selected_fg_color, .5);
}
}
// reset
@else if $t==undecorated {
background-color: transparent;
background-color: none;
box-shadow: none;
&:insensitive {
@include button(insensitive);
background-color: transparent;
color: transparentize($selected_fg_color, .5);
}
}
}
// tile
@mixin tile_button($color, $flat: true) {
@extend %tile;
@if $flat {
background-color: transparent;
} @else {
background-color: transparentize($color, .84);
@if $is_highcontrast {
box-shadow: inset 999px 0 0 0 transparentize($color, .2); // bit of a hack
}
}
&:hover { background-color: transparentize($color, .9);}
&:selected, &:focus {
background-color: transparentize($color, .87);
&:hover { background-color: transparentize($color, .84);}
&:active { background-color: transparentize($color, .87);}
}
&:active { background-color: transparentize($color, .84);}
&:outlined, &:checked {
background-color: transparentize($color, .81);
&:active { background-color: transparentize($color, .78);}
&:hover { background-color: transparentize($color, .75);}
}
&:drop {
border: 2px solid transparentize($selected_bg_color, .2); //already 2px transparent so no jumping
background-color: transparentize($selected_bg_color, .8);
}
}
// overview icon, dash, app grid
@mixin overview_icon($color, $flat: true) {
transition-duration: 400ms;
.overview-icon {
@extend %tile;
}
@if $flat {
.overview-icon { background-color: transparent;}
} @else {
.overview-icon {
background-color: transparentize($color, .93);
}
}
&:hover .overview-icon { background-color: transparentize($color, .9);}
&:selected .overview-icon,
&:focus .overview-icon {
background-color: transparentize($color, .87);
&:hover .overview-icon { background-color: transparentize($color, .84);}
&:active .overview-icon { background-color: transparentize($color, .87);}
}
&:active .overview-icon { background-color: transparentize($color, .84);}
&:outlined .overview-icon,
&:checked .overview-icon {
background-color: transparentize($color, .81);
&:active .overview-icon { background-color: transparentize($color, .78);}
&:hover .overview-icon { background-color: transparentize($color, .75);}
}
&:drop .overview-icon {
border: 2px solid transparentize($selected_bg_color, .2); //already 2px transparent so no jumping
background-color: transparentize($selected_bg_color, .8);
}
}
// styling for elements within popovers that look like notifications
@mixin card($flat: false) {
border-radius: $base_border_radius*1.5;
margin: $base_margin;
@if $flat {
@include button(undecorated);
box-shadow: none !important;
} @else {
@include button(normal);
}
&:hover {@include button(hover);}
&:active {@include button(active);}
&:focus {@include button(focus);}
}
// styling for all menuitems in popovers
@mixin menuitem($bg, $flat: true) {
// lighten the background color always
$bg: lighten($bg,5%);
font-weight: normal;
spacing: $base_padding;
transition-duration: 100ms;
padding: $base_padding*1.5 $base_padding*2;
&:ltr {padding-left: $base_padding;}
&:rtl {padding-right: $base_padding;}
@if $flat {
@include button(undecorated);
box-shadow: none !important;
} @else {
@include button(normal, $c:$bg);
}
&:focus,
&:hover {
@include button(hover, $c:$bg);
}
&:active {@include button(active, $c:$bg);}
&:checked {@include button(checked, $c:$bg);}
}

View File

@@ -1,70 +0,0 @@
// When color definition differs for dark and light variant,
// it gets @if ed depending on $variant
@import '_palette.scss';
$is_highcontrast:true;
$base_color: if($variant == 'light', white, black);
$bg_color: if($variant == 'light', darken($base_color, 10%), lighten($base_color, 10%));
$fg_color: if($variant == 'light', transparentize(black, .2), white);
$selected_fg_color: white;
$selected_bg_color: $blue_3;
$selected_borders_color: darken($selected_bg_color, 20%);
$borders_color: if($variant == 'light', transparentize($fg_color, .5), transparentize($fg_color, .7));
$outer_borders_color: $borders_color;
$link_color: lighten($selected_bg_color,20%);
$link_visited_color: lighten($selected_bg_color,10%);
$warning_color: if($variant == 'light', $yellow_5, #cd9309);
$error_color: if($variant == 'light', $red_3, $red_4);
$success_color: if($variant == 'light', $green_4, $green_5);
$destructive_color: $error_color;
$osd_fg_color: white;
$osd_bg_color: $base_color;
$osd_insensitive_bg_color: transparentize(mix($osd_fg_color, opacify($osd_bg_color, 1), 10%), 0.5);
$osd_insensitive_fg_color: if($variant == 'light', mix($osd_fg_color, $osd_bg_color, 80%), mix($osd_fg_color, $osd_bg_color, 70%));
$osd_borders_color: transparentize($osd_fg_color, 0.8);
$osd_outer_borders_color: $osd_borders_color;
$shadow_color: rgba(0,0,0,0);
// hc
$hc_inset_color: transparentize($fg_color, 0.7);
// button
$button_mix_factor: 20%;
// notifications
$bubble_buttons_color: if($variant == 'light', darken($bg_color, 7%), lighten($bg_color, 5%));
// overview background color
$system_bg_color: black;
//insensitive state derived colors
$insensitive_fg_color: mix($fg_color, $bg_color, 50%);
$insensitive_bg_color: mix($bg_color, $base_color, 60%);
$insensitive_borders_color: $borders_color;
//colors for the backdrop state, derived from the main colors.
$backdrop_base_color: lighten($base_color,1%);
$backdrop_bg_color: $bg_color;
$backdrop_fg_color: mix($fg_color, $backdrop_bg_color, 80%);
$backdrop_insensitive_color: lighten($backdrop_bg_color,15%);
$backdrop_borders_color: mix($borders_color, $bg_color, 90%);
$backdrop_dark_fill: mix($backdrop_borders_color,$backdrop_bg_color, 35%);
// derived checked colors
$checked_bg_color: if($variant=='light', darken($bg_color, 12%), lighten($bg_color, 18%));
$checked_fg_color: if($variant=='light', darken($fg_color, 12%), lighten($fg_color, 18%));
// derived hover colors
$hover_bg_color: if($variant=='light', darken($bg_color, 8%), lighten($bg_color, 20%));
$hover_fg_color: if($variant=='light', darken($fg_color, 10%), lighten($fg_color, 20%));
// derived active colors
$active_bg_color: if($variant=='light', darken($bg_color, 10%), lighten($bg_color, 22%));
$active_fg_color: if($variant=='light', darken($fg_color, 10%), lighten($fg_color, 22%));

View File

@@ -1,46 +0,0 @@
//GNOME Color Palette
$blue_1: #99c1f1;
$blue_2: #62a0ea;
$blue_3: #3584e4;
$blue_4: #1c71d8;
$blue_5: #1a5fb4;
$green_1: #8ff0a4;
$green_2: #57e389;
$green_3: #33d17a;
$green_4: #2ec27e;
$green_5: #26a269;
$yellow_1: #f9f06b;
$yellow_2: #f8e45c;
$yellow_3: #f6d32d;
$yellow_4: #f5c211;
$yellow_5: #e5a50a;
$orange_1: #ffbe6f;
$orange_2: #ffa348;
$orange_3: #ff7800;
$orange_4: #e66100;
$orange_5: #c64600;
$red_1: #f66151;
$red_2: #ed333b;
$red_3: #e01b24;
$red_4: #c01c28;
$red_5: #a51d2d;
$purple_1: #dc8add;
$purple_2: #c061cb;
$purple_3: #9141ac;
$purple_4: #813d9c;
$purple_5: #613583;
$brown_1: #cdab8f;
$brown_2: #b5835a;
$brown_3: #986a44;
$brown_4: #865e3c;
$brown_5: #63452c;
$light_1: #ffffff;
$light_2: #f6f5f4;
$light_3: #deddda;
$light_4: #c0bfbc;
$light_5: #9a9996;
$dark_1: #77767b;
$dark_2: #5e5c64;
$dark_3: #3d3846;
$dark_4: #241f31;
$dark_5: #000000;

View File

@@ -1,50 +0,0 @@
//
// Shell widgets stylesheets are placed in separate .scss files
// in 'widgets' and imported into the main stylesheet in this file.
// To create or update a widget for the shell modify the list below.
//
/* WIDGETS */
// Primary widgets
@import 'widgets/base';
@import 'widgets/entries';
@import 'widgets/buttons';
@import 'widgets/check-box';
@import 'widgets/switches';
@import 'widgets/slider';
@import 'widgets/scrollbars';
// Popovers
@import 'widgets/popovers';
@import 'widgets/calendar';
@import 'widgets/message-list';
@import 'widgets/ibus-popup';
// Notifications
@import 'widgets/notifications';
@import 'widgets/hotplug';
// Dialogs
@import 'widgets/dialogs';
// OSDs
@import 'widgets/osd';
@import 'widgets/switcher-popup';
@import 'widgets/workspace-switcher';
@import 'widgets/screenshot';
// Panel
@import 'widgets/panel';
@import 'widgets/corner-ripple';
@import 'widgets/quick-settings';
// Overview
@import 'widgets/overview';
@import 'widgets/window-picker';
@import 'widgets/search-entry';
@import 'widgets/search-results';
@import 'widgets/dash';
@import 'widgets/app-grid';
@import 'widgets/workspace-thumbnails';
// A11y / misc
@import 'widgets/a11y';
@import 'widgets/misc';
@import 'widgets/keyboard';
@import 'widgets/looking-glass';
// Lock / login screen
@import 'widgets/login-lock';

View File

@@ -1,37 +0,0 @@
<Project xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:foaf="http://xmlns.com/foaf/0.1/"
xmlns:gnome="http://api.gnome.org/doap-extensions#"
xmlns="http://usefulinc.com/ns/doap#">
<name xml:lang="en">GNOME Shell Sass</name>
<shortdesc xml:lang="en">Sass sources of GNOME Shell</shortdesc>
<description>GNOME Shell Sass is a project intended to allow the sharing of the
sass theme sources between gnome-shell and other projects like gnome-shell-extensions.</description>
<category rdf:resource="http://api.gnome.org/doap-extensions#core" />
<programming-language>sass</programming-language>
<programming-language>css</programming-language>
<maintainer>
<foaf:Person>
<foaf:name>Carlos Soriano</foaf:name>
<foaf:mbox rdf:resource="mailto:csoriano@gnome.org" />
<gnome:userid>csoriano</gnome:userid>
</foaf:Person>
</maintainer>
<maintainer>
<foaf:Person>
<foaf:name>Florian Müllner</foaf:name>
<foaf:mbox rdf:resource="mailto:fmuellner@gnome.org" />
<gnome:userid>fmuellner</gnome:userid>
</foaf:Person>
</maintainer>
<maintainer>
<foaf:Person>
<foaf:name>Jakub Steiner</foaf:name>
<foaf:mbox rdf:resource="mailto:jimmac@gmail.com" />
<gnome:userid>jimmac</gnome:userid>
</foaf:Person>
</maintainer>
</Project>

View File

@@ -1,24 +0,0 @@
// Pointer location
.ripple-pointer-location {
width: $ripple_size;
height: $ripple_size;
border-radius: $ripple_size * 0.5; // radius equals the size of the box to give us the curve
background-color: lighten(transparentize($selected_bg_color, 0.7), 30%);
box-shadow: 0 0 2px 2px lighten($selected_bg_color, 20%);
}
// Pointer accessibility notifications
.pie-timer {
width: 60px;
height: 60px;
-pie-border-width: 3px;
-pie-border-color: $selected_bg_color;
-pie-background-color: lighten(transparentize($selected_bg_color, 0.7), 40%);
}
// Screen zoom/Magnifier
.magnifier-zoom-region {
border: 2px solid $selected_bg_color;
&.full-screen { border-width: 0; }
}

View File

@@ -1,177 +0,0 @@
/* App Grid */
$app_icon_size: 96px;
// app icons
.icon-grid {
row-spacing: $base_padding * 2;
column-spacing: $base_padding * 2;
max-row-spacing: $base_padding * 7;
max-column-spacing: $base_padding * 7;
page-padding-top: $base_padding * 4;
page-padding-bottom: $base_padding * 4;
page-padding-left: $base_padding * 3;
page-padding-right: $base_padding * 3;
}
/* App Icons */
// Icon tiles in the app grid
.app-well-app {
@include overview_icon($osd_fg_color);
.overview-icon {
padding: $base_padding*2;
border-radius: $base_border_radius*3;
}
.overview-icon.overview-icon-with-label {
> StBoxLayout {
spacing: $base_padding;
}
}
}
// app folders
.app-well-app.app-folder {
@include overview_icon($fg_color, $flat: false);
}
// expanded folder
.app-folder-dialog {
border-radius: $modal_radius*4;
background-color: $bg_color;
padding: $base_padding*2;
box-shadow:inset 0 0 0 1px $outer_borders_color;
@if $is_highcontrast {
box-shadow:inset 0 0 0 2px $hc_inset_color;
}
& .folder-name-container {
padding: 24px 36px 0;
spacing: 12px;
& .folder-name-label,
& .folder-name-entry {
@extend %title_1;
}
& .folder-name-entry {
width: 12em;
border-radius: $base_border_radius*2;
}
/* FIXME: this is to keep the label in sync with the entry */
& .folder-name-label { padding: 5px 7px; color: $osd_fg_color; }
& .edit-folder-button {
@extend %button;
padding: 0;
width: 36px;
height: 36px;
border-radius: 99px;
& > StIcon { icon-size: $base_icon_size }
}
}
& .icon-grid {
row-spacing: $base_padding * 2;
column-spacing: $base_padding * 5;
page-padding-top: 0;
page-padding-bottom: 0;
page-padding-left: 0;
page-padding-right: 0;
}
& .page-indicators {
margin-bottom: 18px;
}
}
.app-folder-dialog-container {
padding: $base_padding*2;
width: 720px;
height: 720px;
}
// Running app indicator (also shown in dash)
.app-well-app-running-dot {
height: 5px;
width: 5px;
border-radius:5px;
margin-bottom: 8px;
background-color: $osd_fg_color;
}
// Rename popup for app folders
.rename-folder-popup {
.rename-folder-popup-item {
spacing: $base_padding;
&:ltr, &:rtl { padding: 0 $base_padding * 2; }
}
}
// App Grid pagination indicators
.page-indicator {
padding: $base_padding $base_padding * 2 0;
transition-duration:400ms;
.page-indicator-icon {
width: 10px;
height: 10px;
border-radius: 10px; // the same as height&width
background-color: white;
}
}
.apps-scroll-view {
padding: 0;
}
// shutdown and other actions in the grid
.system-action-icon {
background-color: rgba(0,0,0,0.8);
color: white;
border-radius: 99px;
icon-size: $app_icon_size * 0.5;
@if $is_highcontrast {
box-shadow: inset 0 0 0 2px $hc_inset_color;
}
}
.page-navigation-hint {
&.dnd {
background: rgba(255, 255, 255, 0.1);
}
&.next:ltr,
&.previous:rtl {
background-gradient-start: rgba(255, 255, 255, 0.05);
background-gradient-end: transparent;
background-gradient-direction: horizontal;
border-radius: $modal_radius*1.5 0px 0px $modal_radius*1.5;
}
&.previous:ltr,
&.next:rtl {
background-gradient-start: transparent;
background-gradient-end: rgba(255, 255, 255, 0.05);
background-gradient-direction: horizontal;
border-radius: 0px $modal_radius*1.5 $modal_radius*1.5 0px;
}
}
.page-navigation-arrow {
margin: 6px;
padding: 18px;
width: 24px;
height: 24px;
border-radius: 99px;
@if $is_highcontrast {
@include button(normal, $osd_fg_color, transparentize($osd_bg_color, 0.5));
}
&:insensitive { @include button(undecorated, $osd_fg_color, transparentize($osd_bg_color, 0.5));}
&:hover { @include button(hover, $osd_fg_color, transparentize($osd_bg_color, 0.5));}
&:active { @include button(active, $osd_fg_color, transparentize($osd_bg_color, 0.5));}
}

View File

@@ -1,18 +0,0 @@
// Links
.shell-link {
color: $link_color;
&:hover {
color: lighten($link_color, 10%);
}
}
// Outline for low res icons
.lowres-icon {
icon-shadow: 0 1px 2px rgba(black, 0.3);
}
// Dropshadow for large icons
.icon-dropshadow {
icon-shadow: 0 1px 5px rgba(black, 0.8);
}

View File

@@ -1,19 +0,0 @@
/* Buttons */
.button {
@extend %button; // that's it
min-height: 22px;
}
.icon-button {
@extend .button; // same style as buttons
border-radius: 99px;
padding: $base_padding*2;
min-height: 16px;
StIcon {
icon-size: $base_icon_size;
-st-icon-style: symbolic;
}
}

View File

@@ -1,265 +0,0 @@
/* Date/Time Menu */
// overall menu
#calendarArea {
padding: $base_padding - 2px;
}
// Calendar menu side column
.datemenu-calendar-column {
spacing: $base_padding;
&:ltr {padding-left: $base_padding;}
&:rtl {padding-right: $base_padding;}
.datemenu-displays-box {spacing: $base_padding;}
}
/* today button (the date) */
.datemenu-today-button {
@include card(flat);
padding: $base_padding * 1.5;
// weekday label
.day-label {
@extend %heading;
}
// date label
.date-label {
@extend %title_2;
}
}
/* Calendar */
.calendar {
@include card(flat);
margin-top: 0;
// month header
.calendar-month-header {
// prev/next month icons
.calendar-change-month-back StIcon,
.calendar-change-month-forward StIcon {
icon-size: $base_icon_size;
}
// month label
.calendar-month-label {
@extend %heading;
padding: 8px 0;
}
.pager-button {
background-color: transparent;
height: 32px;
width: 32px;
margin: 2px;
border-radius: $base_border_radius;
&:hover, &:focus {background-color: $hover_bg_color;}
&:active {background-color: $active_bg_color;}
@if $is_highcontrast {
border:1px solid $hc_inset_color;
}
}
}
$calendar_day_size: 3em;
.calendar-day-base {
text-align: center;
margin: 2px;
padding: 0 !important;
height: $calendar_day_size !important;
width: $calendar_day_size !important;
border-radius: 99px;
transition-duration: 100ms;
@extend %numeric;
@extend %smaller;
&:hover {background-color: $hover_bg_color;}
&:focus {
background-color: mix($bg_color, $selected_bg_color, 80%);
color: $selected_fg_color;
box-shadow:inset 0 0 0 2px transparentize($selected_bg_color, 0.4);
}
&:active,&:selected {
color: $active_fg_color;
background-color: $active_bg_color;
&:focus {
background-color: mix($active_bg_color, $selected_bg_color, 80%);
}
}
// day of week heading
&.calendar-day-heading {
color: $insensitive_fg_color;
padding-top: $base_padding;
height: 16px !important; // force heading to be smaller height
font-weight: 600;
@extend %smaller;
}
}
.calendar-day {
font-weight: 600;
@if $is_highcontrast {
border:1px solid $hc_inset_color;
border-radius: 9px;
}
}
.calendar-work-day {}
.calendar-nonwork-day {color: $insensitive_fg_color;}
.calendar-other-month-day {
color: transparentize($fg_color, 0.5);
&.calendar-nonwork-day {
color: transparentize($insensitive_fg_color, 0.5);
}
}
// Today
.calendar-today {
background-color: $selected_bg_color;
font-weight: 800;
color: $selected_fg_color !important;
&:hover,&:focus {
background-color:lighten($selected_bg_color, 3%);
color: inherit;
}
&:active,&:selected {
background-color: $selected_bg_color;
color: inherit;
&:hover,&:focus {
background-color:lighten($selected_bg_color, 3%);
color: inherit;
}
}
}
.calendar-day-with-events {
background-image: if($variant == 'light', url("resource:///org/gnome/shell/theme/calendar-today-light.svg"),url("resource:///org/gnome/shell/theme/calendar-today.svg"));
background-size: contain;
}
.calendar-week-number {
@include fontsize($base_font_size - 4);
font-weight: bold;
font-feature-settings: "tnum";
margin: 6px;
padding: 0 $base_padding;
border-radius: 3px;
background-color: transparentize($fg_color, 0.9);
color: $insensitive_fg_color
}
}
/* Events */
.events-button {
@include card;
padding: $base_padding * 2;
.events-box {
spacing: $base_padding;
}
.events-list {
spacing: 2 * $base_padding;
}
.events-title {
@extend %heading;
color: $insensitive_fg_color;
margin-bottom: $base_margin;
}
.event-time {
@extend %numeric;
@extend %caption;
color: $insensitive_fg_color;
}
}
/* World clocks */
.world-clocks-button {
@include card;
padding: $base_padding * 2;
.world-clocks-grid {
spacing-rows: $base_padding;
spacing-columns: $base_padding * 2;
}
// title
.world-clocks-header {
@extend %heading;
color: $insensitive_fg_color;
}
// city label
.world-clocks-city {
color: $fg_color;
}
// timezone time
.world-clocks-time {
@extend %heading;
@extend %numeric;
color: $fg_color;
&:ltr {text-align: right;}
&:rtl {text-align: left;}
}
// timezone offset label
.world-clocks-timezone {
@extend %numeric;
@extend %caption;
color: $insensitive_fg_color;
}
}
/* Weather */
.weather-button {
@include card;
padding: $base_padding * 2;
.weather-box {
spacing: $base_padding + $base_margin;
}
.weather-header-box {
spacing: $base_padding;
}
.weather-header {
color: $insensitive_fg_color;
@extend %heading;
&.location {
font-weight: normal;
}
}
.weather-grid {
spacing-rows: $base_padding;
spacing-columns: $base_padding * 2;
}
.weather-forecast-time {
@extend %numeric;
@extend %caption;
color: darken($fg_color,30%);
padding-top: 0.2em;
padding-bottom: 0.4em;
}
.weather-forecast-icon {
icon-size: $large_icon_size;
}
.weather-forecast-temp {
@extend %heading;
}
}

View File

@@ -1,18 +0,0 @@
/* Check Boxes */
// these are equal to the size of the SVG assets
$check_height: 24px;
$check_width: 24px;
.check-box {
StBoxLayout { spacing: .8em; }
StBin {
width: $check_width;
height: $check_height;
background-image: if($variant == 'light', url("resource:///org/gnome/shell/theme/checkbox-off-light.svg"), url("resource:///org/gnome/shell/theme/checkbox-off.svg"));
}
&:focus StBin { background-image: if($variant == 'light', url("resource:///org/gnome/shell/theme/checkbox-off-focused-light.svg"), url("resource:///org/gnome/shell/theme/checkbox-off-focused.svg"));; }
&:checked StBin { background-image: url("resource:///org/gnome/shell/theme/checkbox.svg"); }
&:focus:checked StBin { background-image: url("resource:///org/gnome/shell/theme/checkbox-focused.svg"); }
}

View File

@@ -1,15 +0,0 @@
/* Activities Ripple */
$ripple_size: 50px;
.ripple-box {
background-color: rgba(255,255,255,0.2);
box-shadow: 0 0 2px 2px rgba(255,255,255,0.2);
// plus + 2px for the border (box-shadow)
width: $ripple_size + 2px;
height: $ripple_size + 2px;
border-radius: 0 0 $ripple_size + 2px 0; // radius equals the size of the box to give us the curve
// just a simple change to the border radius position
&:rtl { border-radius: 0 0 0 $ripple_size + 2px; }
}

View File

@@ -1,80 +0,0 @@
/* Dash */
$dash_background_color: lighten($system_bg_color, 5%);
$dash_placeholder_size: 32px;
$dash_padding: $base_padding*2; // 12px
$dash_border_radius: $modal_radius + $dash_padding;
// container for the dash
#dash {
@extend %caption;
margin-top: $dash_padding;
.placeholder {
// background-image: url("resource:///org/gnome/shell/theme/dash-placeholder.svg");
background-image:none;
background-size: contain;
height: $dash_placeholder_size;
}
.empty-dash-drop-target {
width: $dash_placeholder_size;
height: $dash_placeholder_size;
}
// Running app indicator (also shown in app grid)
.app-well-app-running-dot {
margin-bottom: 14px; // hardcoded
}
}
// background of the dash behind app icons
.dash-background {
background-color: $dash_background_color;
border-radius: $dash_border_radius;
padding: $dash_padding;
spacing: $base_padding;
margin-bottom: $dash_padding;
@if $is_highcontrast {
border: 2px solid $hc_inset_color;
box-shadow:none;
}
}
// items on the dash
.dash-item-container {
> * {margin: 0 2px;}
&:ltr{&:first-child {margin-left: 0;}}
&:rtl{&:first-child {margin-right: 0;}}
// each app item on the dash
.app-well-app .overview-icon {
padding: $base_padding;
border-radius: $base_border_radius*2;
}
// show apps button
.show-apps { @include overview_icon($osd_fg_color);}
.show-apps, .app-well-app {
padding-bottom: $dash_padding;
}
}
// separator between favourites and running apps
.dash-separator {
width: 1px;
margin: 0 $base_margin;
background-color: $borders_color;
margin-bottom: $dash_padding;
@if $is_highcontrast {
width: 2px;
}
}
// OSD Tooltip
.dash-label {
@extend %tooltip;
-y-offset: $base_margin * 2; // distance from the dash edge
}

View File

@@ -1,174 +0,0 @@
/* Modal Dialogs */
.headline {
@extend %title_4;
}
.modal-dialog {
background-color: $bg_color;
border-radius: $modal_radius;
box-shadow: inset 0 0 0 1px $outer_borders_color;
.modal-dialog-content-box {
margin: 32px 40px;
spacing: 32px;
max-width: 28em;
}
.modal-dialog-linked-button {
@extend %bubble_button;
}
}
/* End Session Dialog */
.end-session-dialog {
width: 30em;
.end-session-dialog-battery-warning,
.dialog-list-title {
color: $warning_color;
}
}
/* Message Dialog */
.message-dialog-content {
spacing: 18px;
.message-dialog-title {
text-align: center;
@extend %title_2;
&.lightweight { @extend %title_4;}
}
.message-dialog-description { text-align: center; }
}
/* Dialog List */
.dialog-list {
spacing: 18px;
.dialog-list-title {
text-align: center;
@extend %heading;
}
.dialog-list-scrollview { max-height: 200px; }
.dialog-list-box {
spacing: 1em;
.dialog-list-item {
spacing: 1em;
.dialog-list-item-title { font-weight: bold; }
.dialog-list-item-description {
color: darken($fg_color,5%);
@extend %caption;
}
}
}
}
/* Run Dialog */
.run-dialog {
.modal-dialog-content-box {
margin-top: 24px;
margin-bottom: 14px;
}
.run-dialog-entry { width: 20em; }
.run-dialog-description {
@extend %caption;
text-align: center;
color: darken($fg_color, 20%);
}
}
/* Password or Authentication Dialog */
.prompt-dialog {
width: 28em;
.modal-dialog-content-box {
margin-bottom: 24px;
}
}
.prompt-dialog-password-grid {
spacing-rows: 8px;
spacing-columns: 4px;
.prompt-dialog-password-entry {
width: auto;
// 4px (spacing) + 16px (spinner-width)
&:ltr { margin-left: 20px; }
&:rtl { margin-right: 20px; }
}
}
.prompt-dialog-password-layout {
spacing: 8px;
}
.prompt-dialog-password-entry {
width: 20em;
}
.prompt-dialog-error-label,
.prompt-dialog-info-label,
.prompt-dialog-null-label {
text-align: center;
@extend %caption;
}
.prompt-dialog-error-label {
color: $warning_color;
}
/* Polkit Dialog */
.polkit-dialog-user-layout {
text-align: center;
spacing: 8px;
margin-bottom: 6px;
.polkit-dialog-user-root-label { color: $warning_color; }
}
/* Audio selection dialog */
.audio-device-selection-dialog {
.modal-dialog-content-box { margin-bottom: 28px; }
.audio-selection-box { spacing: 20px; }
}
.audio-selection-device {
border-radius: $base_border_radius*2;
&:hover,&:focus { background-color: $hover_bg_color; }
&:active {
background-color: $selected_bg_color;
color: $selected_fg_color;
}
}
.audio-selection-device-box {
padding: 20px;
spacing: 20px;
}
.audio-selection-device-icon {
icon-size: $base_icon_size * 4;
}
/* Welcome dialog */
.welcome-dialog-image {
background-image: url("resource:///org/gnome/shell/theme/gnome-shell-start.svg");
background-size: contain;
/* Reasonable maximum dimensions */
height: 300px;
width: 300px;
}
/* Access portal dialog */
.access-dialog {
text-align: center;
}

View File

@@ -1,21 +0,0 @@
/* Entries */
StEntry {
@extend %entry;
StIcon.capslock-warning {
icon-size: $base_icon_size;
warning-color: $warning_color;
padding: 0 4px;
}
StIcon.peek-password {
icon-size: $base_icon_size;
padding: 0 4px;
}
StLabel.hint-text {
margin-left: 2px;
color: transparentize($fg_color, 0.3);
}
}

View File

@@ -1,10 +0,0 @@
// hotplug
.hotplug-notification-item {
@extend %bubble_button;
}
.hotplug-notification-item-icon {
icon-size: 24px;
padding: 0 4px;
}

View File

@@ -1,39 +0,0 @@
// IBus Candidate Popup
.candidate-popup-boxpointer {
@extend .popup-menu-boxpointer;
}
.candidate-popup-content {
padding: $base_padding;
spacing: $base_padding;
@extend .popup-menu-content;
}
.candidate-index {
padding: 0;
padding-right: $base_padding;
color: $insensitive_fg_color;
}
.candidate-box {
padding: $base_padding $base_padding*2 $base_padding $base_padding*2;
border-radius: $base_border_radius;
&:selected { background-color: $selected_bg_color; color: $selected_fg_color; }
&:hover { background-color: $hover_bg_color; color: $hover_fg_color; }
}
.candidate-page-button-box {
height: 2em;
.vertical & { padding-top: $base_padding*2; }
.horizontal & { padding-left: $base_padding*2; }
}
.candidate-page-button {
padding: $base_padding;
& StIcon { icon-size: $base_icon_size; }
}
.candidate-page-button-previous { border-radius: $base_border_radius 0px 0px $base_border_radius; border-right-width: 0;box-shadow: none;}
.candidate-page-button-next { border-radius: 0px $base_border_radius $base_border_radius 0px;box-shadow: none;}

View File

@@ -1,159 +0,0 @@
/* On-screen Keyboard */
$key_size: 1.2em;
$key_border_radius: $base_border_radius + 4px; // 12px
$key_bg_color: darken($osd_fg_color, 70%);
// $default_key_bg_color: darken($key_bg_color, 4%);
$default_key_bg_color: if($variant=='light', darken($key_bg_color, 11%), darken($key_bg_color, 10%));
// draw keys using button function
#keyboard {
// background-color: transparentize(if($variant=='light', darken($bg_color, 5%), darken($bg_color, 8%)), 0.1);
background-color: $osd_bg_color;
box-shadow: inset 0 1px 0 0 $osd_outer_borders_color;
.page-indicator {
padding: $base_padding;
.page-indicator-icon {
width: 8px;
height: 8px;
}
}
}
// the container for individual keys
.key-container {
padding: $base_margin;
spacing: $base_margin;
}
// the keys
.keyboard-key {
@include fontsize($base_font_size + 5);
font-weight: bold;
min-height: $key_size;
min-width: $key_size;
border-width: 1px;
border-style: solid;
border-radius: $key_border_radius;
box-shadow: 0 1px 0 0 $shadow_color;
@include keyboard_key(normal, $key_bg_color, $osd_fg_color);
&:focus { @include keyboard_key(focus);}
&:hover { @include keyboard_key(hover, $key_bg_color, $osd_fg_color);}
&:active { @include keyboard_key(active, $key_bg_color, $osd_fg_color); }
&:checked { @include keyboard_key(checked, $key_bg_color, $osd_fg_color); }
&:grayed { //FIXMEy
background-color: darken($bg_color, 3%);
color: $osd_fg_color;
border-color: $osd_borders_color;
}
// non-character keys
&.default-key {
@include keyboard_key(normal, $default_key_bg_color, $osd_fg_color);
&:hover {@include keyboard_key(hover, $default_key_bg_color, $osd_fg_color);}
&:active { @include keyboard_key(active, $default_key_bg_color, $osd_fg_color);}
&:checked { @include keyboard_key(checked, $default_key_bg_color, $osd_fg_color);}
border-radius: $key_border_radius;
// keys that may be latched: ctrl/alt/shift
&:latched {
border-color: lighten($selected_bg_color, 5%);
background-color: $selected_bg_color;
}
}
// enter key is suggested-action
&.enter-key {
@include keyboard_key(normal, $selected_bg_color, $selected_fg_color);
&:hover { @include keyboard_key(hover, $selected_bg_color, $selected_fg_color);}
&:active {@include keyboard_key(active, $selected_bg_color, $selected_fg_color);}
&:checked {@include keyboard_key(checked, $selected_bg_color, $selected_fg_color);}
border-radius: $key_border_radius;
color: $osd_fg_color;
}
&.shift-key-lowercase {}
// pressed shift has different style
&.shift-key-uppercase {
background-color: lighten($key_bg_color, 20%);
color: $osd_bg_color;
&:hover {
background-color: lighten($key_bg_color, 25%);
color: lighten($osd_bg_color, 5%);
}
}
// size of icons on keys
StIcon { icon-size: 24px; }
}
// long press on a key popup
.keyboard-subkeys {
-arrow-border-radius: $base_border_radius*2;
-arrow-background-color: $osd_bg_color;
-arrow-border-width: 1px;
-arrow-border-color: lighten($osd_bg_color, 9%);
-arrow-base: 20px;
-arrow-rise: 10px;
-boxpointer-gap: $base_padding;
padding: $base_padding;
.keyboard-key {
@include keyboard_key(normal, $key_bg_color, $osd_fg_color);
&:focus { @include keyboard_key(focus);}
&:hover { @include keyboard_key(hover, $key_bg_color, $osd_fg_color);}
&:active { @include keyboard_key(active, $key_bg_color, $osd_fg_color); }
&:checked { @include keyboard_key(checked, $key_bg_color, $osd_fg_color); }
border-radius:$key_border_radius;
}
}
// emoji
.emoji-page {
.keyboard-key {
background-color: transparent;
border: none;
color: initial;
}
}
.emoji-panel {
.keyboard-key:latched {
border-color: lighten($selected_bg_color, 5%);
background-color: $selected_bg_color;
}
}
// suggestions
.word-suggestions {
@include fontsize($base_font_size + 1);
spacing: 12px;
min-height: 17pt;
padding: $base_padding*2;
color: $osd_fg_color;
// each suggestion
StButton {
margin: 0 3px;
min-width: 32px;
border-radius: $base_border_radius - 2px;
padding: 0px $base_padding*3;
@include keyboard_key(undecorated, $key_bg_color, $osd_fg_color);
&:focus { @include keyboard_key(focus);}
&:hover { @include keyboard_key(hover, $key_bg_color, $osd_fg_color);}
&:active { @include keyboard_key(active, $key_bg_color, $osd_fg_color); }
&:checked { @include keyboard_key(checked, $key_bg_color, $osd_fg_color); }
}
}

View File

@@ -1,283 +0,0 @@
$_gdm_bg: $system_bg_color;
$_gdm_fg: white;
$_gdm_dialog_width: 23em;
// common style for gdm and lockscreen
.login-dialog,
.unlock-dialog {
.caps-lock-warning-label,
.login-dialog-message-warning {
color: $_gdm_fg;
}
}
/* Login Dialog */
.login-dialog {
background-color: $_gdm_bg;
}
// buttons
.login-dialog-button {
@extend .button;
&.cancel-button,
&.switch-user-button,
&.login-dialog-session-list-button {
@extend .icon-button;
}
&.cancel-button {
padding: $base_padding*1.5;
}
}
.login-dialog-button-box {
width: $_gdm_dialog_width;
spacing: $base_padding*2;
}
.login-dialog-logo-bin {
margin:3em 0;
}
.login-dialog-banner { color: darken($_gdm_fg,10%); }
.login-dialog-banner-view { max-width: $_gdm_dialog_width; }
.login-dialog-message { text-align: center; }
.login-dialog-user-selection-box { padding: 100px 0px; }
.login-dialog-not-listed-label {
@include fontsize($base_font_size);
font-weight: bold;
color: darken($_gdm_fg,30%);
padding: $base_padding*2;
.login-dialog-not-listed-button:focus &,
.login-dialog-not-listed-button:hover & {
color: $_gdm_fg;
}
.login-dialog-not-listed-button:focus & {
text-decoration: underline;
}
}
.login-dialog-auth-list-view { -st-vfade-offset: 1em; }
.login-dialog-auth-list {
spacing: 6px;
margin-left: 2em;
}
.login-dialog-auth-list-title {
margin-left: 2em;
}
.login-dialog-auth-list-item {
border-radius: $base_border_radius*2;
padding: 4px;
color: darken($_gdm_fg,30%);
&:focus, &:selected {
background-color: $selected_bg_color;
color: $selected_fg_color;
}
}
.login-dialog-auth-list-label {
@include fontsize($base_font_size + 2);
font-weight: bold;
padding-left: 15px;
&:ltr { padding-left: 14px; text-align: left; }
&:rtl { padding-right: 14px; text-align: right; }
}
.login-dialog-user-list-view { -st-vfade-offset: 1em; }
.login-dialog-user-list {
spacing: 12px;
width: $_gdm_dialog_width;
.login-dialog-user-list-item {
border-radius: $base_border_radius + 4px;
padding: $base_padding;
background-color: transparentize($_gdm_fg, .95);
color: $_gdm_fg;
@if $is_highcontrast {
box-shadow:inset 0 0 0 1px $hc_inset_color;;
}
.user-widget .user-icon {
border: 4px solid transparent;
}
.login-dialog-timed-login-indicator {
height: 2px;
margin-top: 6px;
background-color: darken($_gdm_fg, 30%);
}
&:focus .login-dialog-timed-login-indicator { background-color: $selected_fg_color; }
}
&:expanded .login-dialog-user-list-item {
transition-duration: 300ms;
transition-timing-function: ease;
&:hover {
background-color: transparentize($_gdm_fg, .9);
color: $_gdm_fg;
}
&:selected {
background-color: $selected_bg_color;
color: $selected_fg_color;
&:hover { background-color: lighten($selected_bg_color,5%); }
}
&:logged-in {
.user-widget .user-icon {
border-color: $selected_bg_color;
}
}
}
}
.login-dialog-prompt-layout {
spacing: $base_padding*2;
width: 26em;
}
.login-dialog-prompt-entry {}
/* Screen Shield */
// a.k.a. the lockscreen
.unlock-dialog {
background-color: transparent;
}
.screen-shield-background { // just the shadow, really
background: black;
box-shadow: 0 2px 4px rgba(0,0,0,0.6);
}
#lockDialogGroup {
background-color: $_gdm_bg;
}
// Clock
.unlock-dialog-clock {
color: $_gdm_fg;
spacing: 2em;
.unlock-dialog-clock-time {
@extend %numeric;
@include fontsize(72);
font-weight: 200;
}
.unlock-dialog-clock-date {
@extend %title_1;
font-weight: 400;
}
.unlock-dialog-clock-hint {
margin-top: 2em;
padding: $base_padding $base_padding*3;
border-radius: $base_border_radius*2;
font-weight: bold;
}
}
// Notifications
#unlockDialogNotifications {
StButton#vhandle, StButton#hhandle {
background-color: transparentize($bg_color,0.7);
&:hover, &:focus { background-color: transparentize($bg_color,0.5); }
&:active { background-color: transparentize($selected_bg_color,0.5); }
}
}
.unlock-dialog-notifications-container {
margin: 12px;
spacing: 6px;
width: $_gdm_dialog_width;
background-color: transparent;
.summary-notification-stack-scrollview {
padding-top: 0;
padding-bottom: 0;
}
.notification,
.unlock-dialog-notification-source {
padding: 12px 16px;
border: none;
background-color: transparentize($_gdm_fg,0.9);
color: $_gdm_fg;
border-radius: $modal_radius;
&.critical { background-color: transparentize($_gdm_fg,0.8) }
}
}
.unlock-dialog-notification-label {
padding-left: 12px;
padding-right: 0;
&:rtl { padding-right: 12px; padding-left: 0; }
}
.unlock-dialog-notification-count-text {
font-weight: bold;
padding: 0 12px;
color: $_gdm_fg;
background-color: transparentize($_gdm_fg, 0.9);
border-radius: 99px;
}
// User Widget
.user-widget {
.user-widget-label {
color: $_gdm_fg;
}
// layout of the user list
&.horizontal {
spacing: $base_padding*3;
.user-widget-label {
@extend %title_3;
}
.user-icon {
& StIcon {
padding: 12px;
icon-size: $base_icon_size*2;
width: $base_icon_size*3;
height: $base_icon_size*3;
background-color: transparentize($_gdm_fg, 0.9);
}
}
}
// layout of the login prompt
&.vertical {
spacing: $base_padding*4;
.user-widget-label {
@extend %title_1;
text-align: center;
margin-bottom: .75em;
}
.user-icon {
icon-size: $base_icon_size*10;
& StIcon {
padding: 32px;
icon-size: $base_icon_size*4;
background-color: transparentize($_gdm_fg, 0.9);
}
}
}
}

View File

@@ -1,130 +0,0 @@
/* Looking Glass */
// Dialog
#LookingGlassDialog {
background-color: transparentize($bg_color,0.05);
border-radius: 0 0 $modal_radius $modal_radius;
border: 1px solid $outer_borders_color;
border-top-width: 0;
color: $fg_color;
padding: $base_padding;
spacing: $base_padding;
box-shadow: 0 2px 4px 0 $shadow_color;
@if $is_highcontrast {
border: 2px solid $hc_inset_color;
background-color: $bg_color;
border-top-width: 0;
box-shadow:none;
}
& > #Toolbar {
border: none;
padding: $base_padding;
border-radius: 0;
background-color: transparent;
spacing: $base_padding;
.lg-toolbar-button {
padding: $base_padding $base_padding*2;
@extend %button;
& > StIcon { icon-size: $base_icon_size; }
}
}
.labels {
spacing: $base_padding;
}
.notebook-tab {
-natural-hpadding: $base_padding*2;
-minimum-hpadding: $base_padding*2;
@extend %button;
padding: $base_padding $base_padding*2;
}
StBoxLayout#EvalBox { padding: 4px; spacing: $base_padding; padding: $base_padding; }
StBoxLayout#ResultsArea { spacing: $base_padding; padding: $base_padding; }
}
.lg-dialog {
StEntry {
min-height: 22px;
@extend %entry;
}
.shell-link {
color: $link_color;
&:hover { color: lighten($link_color, 10%); }
&:active { color: darken($link_color, 10%); }
}
.actor-link {
color: $insensitive_fg_color;
&:hover { color: lighten($insensitive_fg_color, 20%); }
&:active { color: darken($insensitive_fg_color, 20%); }
& StIcon { icon-size: 12px; }
}
}
.lg-completions-text {
@extend %caption;
font-style: italic;
}
.lg-obj-inspector-title {
spacing: $base_padding;
}
.lg-obj-inspector-button {
border: 1px solid $borders_color;
padding: 4px;
border-radius: $base_border_radius;
&:hover { border: 1px solid $fg_color; }
}
// Extensions
#lookingGlassExtensions { padding: $base_padding; }
.lg-extensions-list {
padding: $base_padding;
spacing: $base_padding;
}
.lg-extension {
padding: $base_padding*2;
@include card;
}
.lg-extension-name {
@extend %heading;
}
.lg-extension-meta {
spacing: $base_padding;
}
// Inspector
#LookingGlassPropertyInspector {
background: $bg_color;
border: 1px solid $borders_color;
border-radius: $base_border_radius;
padding: $base_padding;
}
.lg-debug-flag-button {
StLabel { padding: $base_padding, 2 * $base_padding; }
color: $fg_color;
&:hover { color: lighten($fg_color, 20%); }
&:active { color: darken($fg_color, 20%); }
}
.lg-debug-flags-header {
padding-top: 2 * $base_padding;
padding: $base_padding;
@extend %title_2;
}

View File

@@ -1,190 +0,0 @@
/* Message List */
// a.k.a. notifications in the menu
// main list
.message-list {
width: 29em;
border: solid $borders_color;
// padding and margins to account for scrollbar
&:ltr {margin-left: 0; margin-right: $base_margin; padding-right: $base_padding; border-right-width: 1px; }
&:rtl {margin-right: 0; margin-left: $base_margin; padding-left: $base_padding; border-left-width: 1px; }
.message-list-placeholder {
@extend %title_2;
color: transparentize($insensitive_fg_color, .5);
// icon size and color
> StIcon {
icon-size: $base_icon_size*3; // 48px
margin-bottom: $base_margin*3;
-st-icon-style: symbolic;
}
}
}
.message-list-sections {
spacing: $base_padding;
margin: 0;
padding-bottom: $base_padding;
// to account for scrollbar
&:ltr {margin-right: $base_margin * 3; }
&:rtl {margin-left: $base_margin * 3;}
}
.message-list-section,
.message-list-section-list {
spacing: $base_padding;
}
// do-not-disturb + clear button
.message-list-controls {
// NOTE: remove the padding if notification_bubble could remove margin for drop shadow
padding: $base_padding;
spacing: $base_padding;
@extend %heading;
.dnd-button {
// We need this because the focus outline isn't inset like for the buttons
// so the dnd button would grow when it gets focus if we didn't change only
// its color when focusing.
border-width: 2px;
border-color: transparent;
border-radius: 32px;
border-style: solid;
&:focus {
border-color: transparentize($selected_bg_color, 0.4);
}
}
}
// message bubbles
.message {
@include card;
// icon container
.message-icon-bin {
padding: ($base_padding * 3);
&:ltr {padding-right:$base_padding;}
&:rtl {padding-left:$base_padding;}
// icon size and color
> StIcon {
icon-size: $large_icon_size; // 32px
-st-icon-style: symbolic;
}
// fallback
> .fallback-app-icon {
width: $base_icon_size;
height: $base_icon_size;
}
}
// content
.message-content {
spacing: 4px;
padding: ($base_padding*1.5);
margin-bottom: $base_margin*2;
}
// title
.message-title {
font-weight: bold;
/* HACK: the label should be baseline-aligned with a 1em label, fake this with some bottom padding */
padding-top: 0.57em;
}
// secondary container in title box
.message-secondary-bin {
padding: 0 $base_margin * 2;
// notification time stamp
> .event-time {
color: transparentize($fg_color, 0.5);
@include fontsize($base_font_size - 2);
/* HACK: the label should be baseline-aligned with a 1em label, fake this with some bottom padding */
padding-bottom: 0.13em;
&:ltr { text-align: right };
&:rtl { text-align: left };
}
}
// close button
.message-close-button {
color: $fg_color;
background-color: transparentize($fg_color, 0.9);
border-radius: 99px;
padding: $base_padding - 1px;
margin: 1px;
&:hover {background-color: transparentize($fg_color, 0.8);}
&:active {background-color: transparentize($fg_color, 0.9);}
& StIcon { icon-size: $base_icon_size; }
}
// body
.message-body {color: darken($fg_color, 10%);}
}
// URLs in messages
.url-highlighter {
link-color: $link_color;
}
/* Media Controls */
.message-media-control {
padding: 0 $base_padding*3;
margin: $base_padding*2 0;
border-radius: $base_border_radius;
color: $fg_color;
@if $is_highcontrast {
border: 1px solid $hc_inset_color;
margin: $base_padding*2 2px;
}
// colors are lightened since the media controls are in a card
&:hover {
background-color: lighten($hover_bg_color, 5%);
color: $fg_color;
}
&:active {
background-color: lighten($active_bg_color, 5%);
color: $fg_color;
}
&:insensitive {
color: lighten($insensitive_fg_color, 5%);
@if $is_highcontrast {
border-color: transparent;
}
}
// fix margin for last button
&:last-child:ltr { margin-right: $base_margin*3; }
&:last-child:rtl { margin-left: $base_margin*3; }
& StIcon { icon-size: $base_icon_size; }
}
// album-art
.media-message-cover-icon {
icon-size: $base_icon_size*3 !important; // 48px
border-radius: $base_border_radius;
// when there is no artwork
&.fallback {
color: darken($fg_color, 17%);
background-color: $bg_color;
border: 1px solid transparent;
border-radius: $base_border_radius;
icon-size: $large_icon_size !important; // 32px
padding: ($base_padding*2 + 2); // 16px
}
}

View File

@@ -1,53 +0,0 @@
// Rubberband for select-area screenshots
.select-area-rubberband {
background-color: transparentize($selected_bg_color,0.7);
border: 1px solid $selected_bg_color;
}
// User icon
.user-icon {
background-size: contain;
color: $osd_fg_color;
border-radius: 99px;
icon-size: $base_icon_size * 4; // 64px
& StIcon {
background-color: transparentize($osd_fg_color,0.95);
border-radius: 99px;
padding: $base_padding * 2 ; // 12px
width: $base_icon_size * 2.5; height: $base_icon_size * 2.5; // 40px;
}
&.user-avatar {
box-shadow:inset 0 0 0 1px transparentize($osd_fg_color, 0.9);
@if $is_highcontrast {
box-shadow:inset 0 0 0 1px $hc_inset_color;
}
}
}
.lightbox { background-color: black; }
.flashspot { background-color: white; }
// Hidden
.hidden { color: rgba(0,0,0,0);}
// Caps-lock warning
.caps-lock-warning-label {
text-align: center;
padding-bottom: 8px;
@extend %caption;
color: $warning_color;
}
/* Workspace animation */
.workspace-animation {
background-color: $system_bg_color;
}
/* Tiled window previews */
.tile-preview {
background-color: transparentize($selected_bg_color,0.5);
border: 1px solid $selected_bg_color;
}

View File

@@ -1,61 +0,0 @@
/* Notifications & Message Tray */
$notification_banner_height: 64px;
$notification_banner_width: 34em;
$notification_banner_radius: $base_border_radius*1.5;
// Banner notifications
.notification-banner {
min-height: $notification_banner_height;
width: $notification_banner_width;
box-shadow: 0 2px 4px 2px $shadow_color;
border-radius: $notification_banner_radius;
margin: $base_margin;
.notification-actions {
spacing: 0;
}
.notification-button {
@extend %bubble_button;
}
}
// counter
.summary-source-counter {
font-size: $base_font_size - 1pt;
font-weight: bold;
height: 1.6em;
width: 1.6em;
-shell-counter-overlap-x: 3px;
-shell-counter-overlap-y: 3px;
background-color: $selected_bg_color;
color: $selected_fg_color;
border: 2px solid $fg_color;
box-shadow: 0 2px 2px rgba(0,0,0,0.5);
border-radius: 0.9em; // should be 0.8 but whatever; wish I could do 50%;
}
// chat bubbles
.chat-body { spacing: 5px; }
.chat-response { margin: 5px; }
.chat-log-message { color: darken($fg_color,10%); }
.chat-new-group { padding-top: 1em; }
.chat-received {
padding-left: 4px;
&:rtl { padding-left: 0px; padding-right: 4px; }
}
.chat-sent {
padding-left: 18pt;
color: lighten($fg_color, 15%);
&:rtl { padding-left: 0; padding-right: 18pt; }
}
.chat-meta-message {
padding-left: 4px;
@include fontsize($base_font_size - 2);
font-weight: bold;
color: lighten($fg_color,18%);
&:rtl { padding-left: 0; padding-right: 4px; }
}

View File

@@ -1,64 +0,0 @@
/* OSD */
$osd_levelbar_height:6px;
.osd-window {
@extend %osd_panel;
@extend %heading;
text-align: center;
font-weight: bold;
spacing: $base_padding * 2; // 12px
padding: $base_padding * 2 $base_padding * 3;
& > * { spacing: 8px; }
margin-bottom: 4em;
StIcon { icon-size:$large_icon_size;}
StLabel {
&:ltr { margin-right: 6px; }
&:rtl { margin-left: 6px; }
}
.level {
margin-bottom: 4px;
&:first-child { margin-bottom: 0px; }
height: $osd_levelbar_height;
min-width:$base_icon_size * 10;
-barlevel-height: $osd_levelbar_height;
-barlevel-background-color: transparentize($osd_fg_color, if($variant=='light', 0.7, 0.9));
-barlevel-active-background-color: $osd_fg_color;
-barlevel-overdrive-color: $destructive_color;
-barlevel-overdrive-separator-width: 3px;
&:ltr { margin-right: 6px; }
&:rtl { margin-left: 6px; }
}
}
// Monitor number label
.osd-monitor-label {
@extend %osd_panel;
border-radius: $modal_radius;
font-size: 3em;
font-weight: bold;
margin: $base_margin * 3;
text-align: center;
min-width: 1.3em;
}
/* Pad OSD */
.pad-osd-window {
padding: 32px;
background-color: transparentize(#000, 0.2);
.pad-osd-title-box { spacing: 12px; }
.pad-osd-title-menu-box { spacing: 6px; }
}
.combo-box-label {
width: 15em;
}
.resize-popup {
@extend %osd_panel;
}

View File

@@ -1,13 +0,0 @@
/* OVERVIEW */
.controls-manager, .secondary-monitor-workspaces {
spacing: $base_padding * 2;
}
#overviewGroup {
background-color: $system_bg_color;
}
.overview-controls {
padding-bottom: 32px;
}

View File

@@ -1,234 +0,0 @@
/* Top Bar */
// a.k.a. the panel
$panel_bg_color: #000;
$panel_fg_color: if($variant == 'light', lighten($bg_color, 10%), darken($fg_color, 5%));
$panel_height: 2.2em;
$panel_transition_duration: 250ms; // same as the overview transition duration
#panel {
background-color: $panel_bg_color;
font-weight: bold;
height: $panel_height;
@extend %numeric;
transition-duration: $panel_transition_duration;
// transparent panel on lock & login screens
&.unlock-screen,
&.login-screen,
&:overview {
background-color: transparent;
}
// panel menus
.panel-button {
font-weight: bold;
color: $panel_fg_color;
-natural-hpadding: $base_padding * 2;
-minimum-hpadding: $base_padding;
transition-duration: 150ms;
border: 3px solid transparent;
border-radius: 99px;
&.clock-display {
.clock {
transition-duration: 150ms;
border: 3px solid transparent;
border-radius: 99px;
}
}
&.screen-recording-indicator {
box-shadow: inset 0 0 0 100px $screenshot_ui_button_red;
}
&.screen-sharing-indicator {
box-shadow: inset 0 0 0 100px $warning_color;
StBoxLayout { margin: 0 $base_padding; }
}
&.screen-recording-indicator,
&.screen-sharing-indicator {
StBoxLayout {
spacing: $base_padding;
}
StIcon {
icon-size: $base_icon_size;
}
}
&:active, &:overview, &:focus, &:checked {
box-shadow: inset 0 0 0 100px transparentize($panel_fg_color, 0.8);
// The clock display needs to have the background on .clock because
// we want to exclude the do-not-disturb indicator from the background
&.clock-display {
box-shadow: none;
.clock {
box-shadow: inset 0 0 0 100px transparentize($panel_fg_color, 0.8);
}
}
&.screen-recording-indicator {
box-shadow: inset 0 0 0 100px transparentize($screenshot_ui_button_red, 0.15);
}
&.screen-sharing-indicator {
box-shadow: inset 0 0 0 100px transparentize($warning_color, 0.15);
}
}
&:hover {
box-shadow: inset 0 0 0 100px transparentize($panel_fg_color, 0.85);
&.clock-display {
box-shadow: none;
.clock {
box-shadow: inset 0 0 0 100px transparentize($panel_fg_color, 0.85);
}
}
&.screen-recording-indicator {
box-shadow: inset 0 0 0 100px transparentize($screenshot_ui_button_red, 0.1);
}
&.screen-sharing-indicator {
box-shadow: inset 0 0 0 100px transparentize($warning_color, 0.1);
}
}
&:active:hover, &:overview:hover, &:focus:hover, &:checked:hover {
box-shadow: inset 0 0 0 100px transparentize($panel_fg_color, 0.75);
&.clock-display {
box-shadow: none;
.clock {
box-shadow: inset 0 0 0 100px transparentize($panel_fg_color, 0.75);
}
}
&.screen-recording-indicator {
box-shadow: inset 0 0 0 100px transparentize($screenshot_ui_button_red, 0.2);
}
&.screen-sharing-indicator {
box-shadow: inset 0 0 0 100px transparentize($warning_color, 0.2);
}
}
// status area icons
.system-status-icon {
icon-size: $base_icon_size;
padding: $base_padding - 1px;
margin: 0 $base_margin;
}
.panel-status-indicators-box .system-status-icon,
.panel-status-menu-box .system-status-icon {
margin: 0;
}
// app menu icon
.app-menu-icon {
-st-icon-style: symbolic;
// dimensions of the icon are hardcoded
}
&#panelActivities {
-natural-hpadding: $base_padding * 3;
}
}
&.unlock-screen,
&.login-screen,
&:overview {
.panel-button {
&:active, &:overview, &:focus, &:checked {
box-shadow: inset 0 0 0 100px rgba(255,255,255, 0.15);
&.clock-display {
box-shadow: none;
.clock {
box-shadow: inset 0 0 0 100px rgba(255,255,255, 0.15);
}
}
&.screen-recording-indicator {
box-shadow: inset 0 0 0 100px transparentize($screenshot_ui_button_red, 0.15);
}
&.screen-sharing-indicator {
box-shadow: inset 0 0 0 100px transparentize($warning_color, 0.15);
}
}
&:hover {
box-shadow: inset 0 0 0 100px rgba(255,255,255, 0.10);
&.clock-display {
box-shadow: none;
.clock {
box-shadow: inset 0 0 0 100px rgba(255,255,255, 0.10);
}
}
&.screen-recording-indicator {
box-shadow: inset 0 0 0 100px transparentize($screenshot_ui_button_red, 0.1);
}
&.screen-sharing-indicator {
box-shadow: inset 0 0 0 100px transparentize($warning_color, 0.1);
}
}
&:active:hover, &:overview:hover, &:focus:hover, &:checked:hover {
box-shadow: inset 0 0 0 100px rgba(255,255,255, 0.2);
&.clock-display {
box-shadow: none;
.clock {
box-shadow: inset 0 0 0 100px rgba(255,255,255, 0.2);
}
}
&.screen-recording-indicator {
box-shadow: inset 0 0 0 100px transparentize($screenshot_ui_button_red, 0.2);
}
&.screen-sharing-indicator {
box-shadow: inset 0 0 0 100px transparentize($warning_color, 0.2);
}
}
}
}
.panel-status-indicators-box,
.panel-status-menu-box {
spacing: 2px;
}
// spacing between power icon and (optional) percentage label
.power-status.panel-status-indicators-box {
spacing: 0;
}
// indicator for active
.screencast-indicator,
.remote-access-indicator { color: $warning_color; }
}
// App Menu
#appMenu {
spacing: $base_padding;
.label-shadow { color: transparent; }
}
#appMenu .panel-status-menu-box {
padding: 0 $base_padding;
spacing: $base_padding;
}
// Clock
.clock-display-box {
spacing: 2px;
.clock {
padding-left: $base_padding * 2;
padding-right: $base_padding * 2;
}
}

View File

@@ -1,162 +0,0 @@
/* Popovers/Menus */
$menu_bg_color: $bg_color;
$menuitem_bg_color: lighten($menu_bg_color, 4%);
$menuitem_border_radius: $base_border_radius*1.5;
$submenu_bg_color: lighten($menu_bg_color, 7%);
// the popover itself
.popup-menu-boxpointer {
-arrow-rise: $base_margin+2px; // distance from the panel & screen edge
}
// container of the popover menu
.popup-menu {
min-width: 15em;
color: $fg_color;
//.popup-status-menu-item {font-weight: normal; color: pink;} //dunno what that is
&.panel-menu {
margin-bottom: 1.75em; // so it doesn't touch the bottom of the screen
}
}
// popover content
.popup-menu-content {
padding: $base_padding;
background-color: $bg_color;
border-radius: $modal_radius*1.25;
border: 1px solid $outer_borders_color;
box-shadow: 0 2px 4px 0 $shadow_color;
}
// menu items
.popup-menu-item {
@include menuitem($bg:$menu_bg_color);
border-radius: $menuitem_border_radius;
&:checked {
border-radius: $menuitem_border_radius $menuitem_border_radius 0 0 !important;
@if $is_highcontrast {
border: 1px solid $hc_inset_color;
border-bottom-width:0;
}
}
// add margin to switches in menu items
.toggle-switch {
&:ltr { margin-left: $base_margin;}
&:rtl { margin-right: $base_margin;}
}
}
// all other graphical elements (sliders)
.popup-inactive-menu-item {
color: $fg_color;
&:insensitive { color: $insensitive_fg_color; }
}
// symbolic icons in popover
.popup-menu-arrow,
.popup-menu-icon {
icon-size: 16px !important; // for some reason the variable doesn't work here
}
// popover submenus
.popup-sub-menu {
border-radius: 0 0 $menuitem_border_radius+1px $menuitem_border_radius+1px;
margin-bottom: $base_padding;
@if $is_highcontrast {
border: 1px solid $hc_inset_color;
}
.popup-menu-ornament {
min-width: $base_icon_size !important;
}
// submenu specific styles
.popup-menu-item {
border-radius: 0;
@include menuitem($bg:$submenu_bg_color, $flat:false);
border-top-width:0;
&:last-child {
border-radius: 0 0 $menuitem_border_radius $menuitem_border_radius;
border-bottom-width:0;
}
}
.popup-menu-section {
.popup-menu-item:last-child {
&:hover,&:focus { border-radius: 0;}
}
&:last-child .popup-menu-item:last-child {
border-radius: 0 0 $menuitem_border_radius $menuitem_border_radius;
}
}
}
// container for radio and check boxes
.popup-menu-ornament {
@extend %heading;
width: 1.2em;
text-align: center !important;
&:ltr { text-align: right;}
&:rtl { text-align: left;}
}
// separator
.popup-separator-menu-item {
border:none !important;
.popup-separator-menu-item-separator {
height: 1px; //not really the whole box
background-color: $borders_color;
}
.popup-menu-ornament {
width: 0 !important;
}
// separators in submenus
.popup-sub-menu & {
background-color: transparent;
// account for ornament
&:ltr { margin-right: 2.5em;}
&:rtl { margin-left: 2.5em;}
.popup-separator-menu-item-separator {
background-color: $borders_color;
}
}
}
// desktop background menu
.background-menu {
-boxpointer-gap: 0px;
-arrow-rise: 0px; // hide the beak on the menu
}
// right-click (and panel) app menu
.app-menu {
max-width: 27.25em;
// this is unneeded at the top-level in this menu, hide it
.popup-menu-ornament { width: 0 !important; }
.popup-inactive-menu-item:first-child {
// "Open Windows" label
> StLabel {
@extend %caption_heading;
&:ltr {margin-right: $base_margin*2;}
&:rtl {margin-left: $base_margin*2;}
}
}
}

View File

@@ -1,178 +0,0 @@
.quick-settings {
padding: $base_padding*3;
border-radius: $modal_radius*2.25;
.icon-button, .button {
padding: $base_padding*1.75;
}
}
.quick-settings-grid {
spacing-rows: $base_padding*2;
spacing-columns: $base_padding*2;
}
.quick-toggle, .quick-menu-toggle {
border-radius: 99px;
min-width: 12em;
max-width: 12em;
min-height: 48px;
border:none;
}
.quick-toggle {
&:checked { @include button(default, $c:$selected_bg_color); }
& > StBoxLayout { spacing: $base_padding*1.5; }
/* Move padding into the box; this is to allow menu arrows
to extend to the border */
&.button { padding: 0; }
& > StBoxLayout { padding: 0 $base_padding*2; }
&:ltr > StBoxLayout { padding-left: $base_padding*2.5; }
&:rtl > StBoxLayout { padding-right: $base_padding*2.5; }
.quick-toggle-title { font-weight: bold; }
& StBoxLayout > .quick-toggle-subtitle {
font-weight: normal;
font-size: 12px;
}
.quick-toggle-icon { icon-size: $base_icon_size; }
}
.quick-menu-toggle {
& .quick-toggle {
min-width: auto;
max-width: auto;
&:ltr { border-radius: 99px 0 0 99px; }
&:rtl { border-radius: 0 99px 99px 0; }
&:ltr:last-child { border-radius: 99px; }
&:rtl:last-child { border-radius: 99px; }
}
& .quick-toggle-arrow {
padding: $base_padding $base_padding*1.75;
border-width: 0;
&:checked {
@include button(default, $c:$selected_bg_color);
border-color: $selected_borders_color;
}
&:ltr {
border-radius: 0 99px 99px 0;
border-left-width: 1px;
}
&:rtl {
border-radius: 99px 0 0 99px;
border-right-width: 1px;
}
}
}
.quick-slider {
& > StBoxLayout { spacing: $base_padding; }
.icon-button { padding: $base_padding; }
.slider-bin {
&:focus {@include button(focus);}
min-height: 16px; // slider size
padding: $base_padding;
border-radius: 99px;
}
}
.quick-toggle-menu {
@include card;
border-radius: $base_border_radius*3;
padding: $base_padding*2;
margin: $base_padding*2 $base_padding*3 0;
.popup-menu-item > StIcon { -st-icon-style: symbolic; }
& .header {
spacing-rows: 0.5 * $base_padding;
spacing-columns: $base_padding*2;
padding-bottom: 2 * $base_padding;
& .icon {
icon-size: $base_icon_size*1.5; // a non-standard symbolic size but ok
border-radius: 999px;
padding: 1.5 * $base_padding;
background-color: transparentize($fg_color, 0.8);
&.active { background-color: $selected_bg_color;}
}
& .title {
@extend %title_3;
}
& .subtitle {
@extend %caption_heading;
}
}
}
.quick-toggle-menu-container {
}
.quick-settings-system-item {
& > StBoxLayout { spacing: 2 * $base_padding; }
& .power-item {
min-height: 0;
min-width: 0;
&:insensitive {
@include button(normal);
background-color: transparent;
}
}
}
.nm-network-item {
.wireless-secure-icon { icon-size: 0.5 * $base_icon_size; }
}
.bt-device-item {
.popup-menu-icon { -st-icon-style: symbolic; }
}
.bt-menu-placeholder {
@extend %title_4;
text-align: center;
padding: 2em 4em;
}
.device-subtitle { color: transparentize($fg_color, 0.5); }
// background apps
.background-apps-quick-toggle {
min-height: 40px;
background-color: transparent;
& StIcon { icon-size: $base_icon_size !important; }
}
.background-app-item {
& .title { @extend %heading; }
& .subtitle { @extend %caption; }
& .popup-menu-icon {
icon-size: $large_icon_size !important;
-st-icon-style: regular !important;
}
& .close-button {
@extend .icon-button;
padding: $base_padding;
}
&.popup-inactive-menu-item { color: $fg_color; }
}

View File

@@ -1,204 +0,0 @@
// Screenshot UI
.icon-label-button-container {
spacing: $base_padding;
@extend %caption;
StIcon { icon-size: 32px;}
}
$screenshot_ui_panel_padding: $base_padding*3;
$screenshot_ui_shot_cast_margin: 21px;
$screenshot_ui_panel_border_radius: $modal_radius + $screenshot_ui_shot_cast_margin;
$screenshot_ui_shot_cast_spacing: 3px;
$screenshot_ui_button_red: $error_color;
.screenshot-ui-panel {
@extend %osd_panel;
border-radius: $screenshot_ui_panel_border_radius;
padding: $screenshot_ui_panel_padding;
// Reduce the bottom padding a little to accommodate the large capture button.
padding-bottom: $screenshot_ui_panel_padding - 6px;
margin-bottom: 4em;
spacing: $base_padding * 2;
}
.screenshot-ui-close-button {
@extend .window-close; // copy window close button
padding: $base_padding !important; // but with more padding
margin-top: 12px;
box-shadow: 0 2px 4px 0 $shadow_color;
&.left { margin-left: 12px;}
&.right { margin-right: 12px;}
}
.screenshot-ui-type-button {
@extend %osd_button;
min-width: 48px;
padding: $base_padding * 2 $base_padding * 3 !important;
border-radius: $screenshot_ui_panel_border_radius - $screenshot_ui_panel_padding;
}
.screenshot-ui-capture-button {
width: 36px;
height: 36px;
border-radius: 99px;
border: 4px $osd_fg_color;
padding: 4px;
.screenshot-ui-capture-button-circle {
background-color: $osd_fg_color;
transition-duration: 200ms;
&:hover, &:focus { background-color: $hover_bg_color;}
border-radius: 99px;
}
&:hover, &:focus {
.screenshot-ui-capture-button-circle {
background-color: darken($osd_fg_color, 15%);
}
}
&:active {
.screenshot-ui-capture-button-circle {
background-color: darken($osd_fg_color, 50%);
}
}
&:cast {
.screenshot-ui-capture-button-circle {
background-color: $screenshot_ui_button_red;
}
&:hover, &:focus {
.screenshot-ui-capture-button-circle {
background-color: lighten($screenshot_ui_button_red, 5%);
}
}
&:active {
.screenshot-ui-capture-button-circle {
background-color: darken($screenshot_ui_button_red, 7%);
}
}
}
}
.screenshot-ui-shot-cast-container {
background-color: lighten($osd_bg_color,5%);
border-radius: $modal_radius;
padding: $screenshot_ui_shot_cast_spacing;
spacing: $screenshot_ui_shot_cast_spacing;
&:ltr { margin-left: $screenshot_ui_shot_cast_margin - $screenshot_ui_panel_padding;}
&:rtl { margin-right: $screenshot_ui_shot_cast_margin - $screenshot_ui_panel_padding;}
}
.screenshot-ui-shot-cast-button {
padding: $base_padding $base_padding*2;
background-color: transparent;
&:hover, &:focus { background-color: lighten($osd_bg_color, 10%);}
&:active { background-color: lighten($active_bg_color,5%);}
&:checked { background-color: white;color: black;}
&:insensitive { color: transparentize($osd_fg_color, 0.5);}
border-radius: $modal_radius - $screenshot_ui_shot_cast_spacing;
StIcon { icon-size: $base_icon_size;}
}
.screenshot-ui-show-pointer-button {
@extend %osd_button;
border-radius: 99px;
padding: $base_padding * 2 !important;
StIcon { icon-size: $base_icon_size;}
}
.screenshot-ui-area-indicator-shade {
background-color: rgba(0,0,0,.3);
}
.screenshot-ui-area-selector {
.screenshot-ui-area-indicator-shade {
background-color: rgba(0,0,0,.5);
}
.screenshot-ui-area-indicator-selection {
border: 2px white;
}
}
.screenshot-ui-area-selector-handle {
border-radius: 99px;
background-color: white;
box-shadow: 0 1px 3px 2px rgba(0,0,0,0.2);
width: 24px;
height: 24px;
}
.screenshot-ui-window-selector {
background-color: $system_bg_color;
.screenshot-ui-window-selector-window-container {
margin: 100px;
}
&:primary-monitor {
.screenshot-ui-window-selector-window-container {
// Make some room for the panel.
margin-bottom: 200px;
}
}
}
.screenshot-ui-window-selector-window-border {
transition-duration: 200ms;
border-radius: $modal_radius;
border: 6px transparent;
}
.screenshot-ui-window-selector-check {
transition-duration: 200ms;
color: transparent;
border-radius: 99px;
border-width: 12px;
icon-size: 24px;
}
.screenshot-ui-window-selector-window {
&:hover {
.screenshot-ui-window-selector-window-border {
border-color: darken($selected_bg_color, 15%);
}
}
&:checked {
.screenshot-ui-window-selector-window-border {
border-color: $selected_bg_color;
background-color: transparentize($selected_bg_color, 0.8);
}
.screenshot-ui-window-selector-check {
color: $selected_fg_color;
background-color: $selected_bg_color;
}
}
}
.screenshot-ui-screen-selector {
transition-duration: 200ms;
background-color: rgba(0,0,0,.5);
&:hover { background-color: rgba(0,0,0,.3);}
&:active { background-color: rgba(0,0,0,.7);}
&:checked {
background-color: transparent;
border: 2px white;
}
}
.screenshot-ui-tooltip {
color: $osd_fg_color;
background-color: $osd_bg_color;
border-radius: 99px;
padding: $base_padding $base_padding * 2;
text-align: center;
-y-offset: 24px;
}

View File

@@ -1,29 +0,0 @@
/* Scrollbars */
StScrollView {
&.vfade { -st-vfade-offset: 68px; }
&.hfade { -st-hfade-offset: 68px; }
}
StScrollBar {
padding: 0;
StScrollView & {
min-width: 8px;
min-height: 8px;
}
StBin#trough {
border-radius: 0;
background-color: transparent;
}
StButton#vhandle, StButton#hhandle {
border-radius: 8px;
background-color: mix($fg_color, $bg_color, 30%);
border: 3px solid transparent; //would be nice to margin or at least to transparent
transition: 500ms all ease;
&:hover {background-color: mix($fg_color, $bg_color, 50%);}
&:active {background-color: mix($fg_color, $bg_color, 40%);}
}
}

View File

@@ -1,13 +0,0 @@
// Search entry
.search-entry {
border-radius: 99px;
margin-top: $base_padding*2;
margin-bottom: $base_padding;
width: 24em;
.search-entry-icon {
icon-size: $base_icon_size;
margin-top: 2px; // center vertically
padding: 0 4px;
}
}

View File

@@ -1,96 +0,0 @@
/* Search */
// search overview container
#searchResults {
margin: 0 $base_margin;
}
#searchResultsContent {
max-width: 1072px;
}
// search results sections "the boxes"
.search-section {
// This should be equal to #searchResultsContent spacing
spacing: $base_padding*3;
// separator (unstyled)
.search-section-separator {
height: $base_margin*2; // use it as a spacer
background-color: transparent;
}
}
// content
.search-section-content {
background-color: lighten($system_bg_color, 5%);
border-radius: $modal_radius*1.5;
box-shadow:inset 0 0 0 1px solid $outer_borders_color;
color: $osd_fg_color;
padding: $base_padding*2;
margin:0 $base_margin*3;
}
%search_section_content_item {
@include tile_button($osd_fg_color);
border-radius: $base_border_radius+3px;
}
// "no results" text
.search-statustext {
@extend %title_1;
}
.grid-search-results {
spacing: $base_padding*5;
margin:0 $base_margin*3;
}
// Search results with icons
.grid-search-result {
@extend .app-well-app;
}
// search result provider
.search-provider-icon {
@extend %search_section_content_item;
&:ltr {margin-right: $base_margin;}
&:rtl {margin-left: $base_margin;}
// content
.list-search-provider-content {
spacing: $base_padding * 2;
// provider labels
.list-search-provider-details {
width: 120px;
color: $osd_fg_color;
}
}
}
// search results list
.list-search-results {
spacing: $base_padding;
}
// search result listitem
.list-search-result {
@extend %search_section_content_item;
// content
.list-search-result-content {
spacing: $base_padding;
}
// list item title (with leading icon)
.list-search-result-title {
spacing: $base_padding * 2;
// font-weight: bold;
}
// list item description
.list-search-result-description {
color: $osd_insensitive_fg_color;
}
}

View File

@@ -1,22 +0,0 @@
/* Slider */
$slider_size: 16px;
.slider {
// slider trough
-barlevel-height: 4px;
-barlevel-background-color: if($variant == 'light', transparentize($fg_color, 0.6), transparentize($fg_color, 0.8)); //background of the trough
-barlevel-border-width: 2px;
-barlevel-border-color: transparent; // trough border color
// fill style
-barlevel-active-background-color: $selected_bg_color;
-barlevel-active-border-color: transparent;
// overfill style (red in this case)
-barlevel-overdrive-color: $destructive_color;
-barlevel-overdrive-border-color: transparent; //trough border when red;
-barlevel-overdrive-separator-width:1px;
// slider handler
-slider-handle-radius: $slider_size * 0.5; // half the size of the size
-slider-handle-border-width: 0;
-slider-handle-border-color: transparent; // because 0 width
}

View File

@@ -1,74 +0,0 @@
/* App Switcher */
// same as dash
$switcher_padding: $base_padding*2;
// the full screen container of the switcher
.switcher-popup {
padding: 0;
spacing: $base_padding * 4;
}
// switcher onscreen panel
.switcher-list {
@extend %osd_panel;
padding: $switcher_padding;
border-radius: $modal_radius+$switcher_padding;
box-shadow: 0 8px 8px 0 $shadow_color;
// container for items in list
.switcher-list-item-container {
spacing: $base_padding * 2;
}
// each item in the list
.item-box {
@include tile_button($osd_fg_color);
// override over style so mouse doesn't steal focus
&:hover {background: none;}
@if $is_highcontrast {
box-shadow: inset 0 0 0 999px transparentize($hc_inset_color,0.2);
}
}
.separator {
width: 1px;
background: $borders_color;
}
// container of thumbnails
.thumbnail-box {
padding: 2px;
spacing: $base_padding;
}
// window thumbnail itself
.thumbnail {
width: 256px; // equal to THUMBNAIL_DEFAULT_SIZE in altTab.js
border-radius:$base_border_radius;
}
}
// arrow if app has multiple windows
.switcher-arrow {
border-color: transparentize($osd_fg_color, 0.2);
color: transparentize($osd_fg_color, 0.2);
&:highlighted {
border-color: $osd_fg_color;
color: $osd_fg_color;
}
}
// Input Source Switcher
.input-source-switcher-symbol {
font-size: 34pt;
width: 96px;
height: 96px;
}
// Window cycler highlight
.cycler-highlight {
border: 5px solid $selected_bg_color;
}

View File

@@ -1,16 +0,0 @@
/* Switches */
// these are equal to the size of the SVG assets
$switch_height: 26px;
$switch_width: 48px;
.toggle-switch {
color: $fg_color;
height: $switch_height;
width: $switch_width;
background-size: contain;
background-image: if($variant == 'light', url("resource:///org/gnome/shell/theme/toggle-off-light.svg"),url("resource:///org/gnome/shell/theme/toggle-off.svg"));
&:checked {
background-image: if($variant == 'light', url("resource:///org/gnome/shell/theme/toggle-on-light.svg"),url("resource:///org/gnome/shell/theme/toggle-on.svg"));
}
}

View File

@@ -1,54 +0,0 @@
/* Window Picker */
$window_picker_spacing: $base_padding; // 6px
$window_picker_padding: $base_padding * 2; // 12px
$window_thumbnail_label_color: transparentize($osd_bg_color, 0.4);
$window_close_button_color: transparentize(lighten($osd_bg_color, 7%), .02);
$window_close_button_size: 30px;
$window_close_button_padding: 3px;
// Window picker
.window-picker {
// Space between window thumbnails
spacing: $window_picker_spacing;
}
// Window titles
.window-caption {
@extend %tooltip;
}
// Close button
.window-close {
background-color: $window_close_button_color;
color: $osd_fg_color;
border-radius: 99px;
box-shadow: 0 2px 4px 0 $shadow_color;
padding: $window_close_button_padding;
height: $window_close_button_size;
width: $window_close_button_size;
transition-duration: 100ms;
& StIcon { icon-size: 24px; } // uses non standard icon size
&:hover {
background-color: lighten($window_close_button_color, 7%);
}
&:active {
background-color: lighten($window_close_button_color, 13%);
}
@if $is_highcontrast {
border:2px solid $outer_borders_color;
}
}
.workspace-background {
// keep in sync with BACKGROUND_CORNER_RADIUS_PIXELS in workspace.js
border-radius: 30px;
background-color: $invisible_occluded_bg_color;
box-shadow: 0 4px 16px 4px transparentize(darken($osd_bg_color, 30%), 0.7);
}

View File

@@ -1,25 +0,0 @@
/* Workspace Switcher */
$ws_indicator_height: $large_icon_size;
$ws_dot_active: $ws_indicator_height / 3;
$ws_dot_inactive: $ws_indicator_height / 6;
.workspace-switcher {
@extend %osd_panel;
margin-bottom: 4em;
spacing: $base_padding * 2;
padding: $base_padding * 2 $base_padding * 3;
}
.ws-switcher-indicator {
background-color: transparentize($osd_fg_color,0.5);
padding: $ws_dot_inactive / 2;
margin: ($ws_indicator_height - $ws_dot_inactive) / 2;
border-radius: $ws_indicator_height;
&:active {
background-color: $osd_fg_color;
padding: $ws_dot_active / 2;
margin: ($ws_indicator_height - $ws_dot_active) / 2;
}
}

View File

@@ -1,32 +0,0 @@
/* Workspace pager */
// thumbnails in overview
.workspace-thumbnails {
visible-width: 32px; //amount visible before hover
spacing: $base_padding;
padding: $base_padding;
.workspace-thumbnail {
color: $osd_fg_color;
background-color: lighten($system_bg_color, 10%);
border-radius: $base_border_radius*0.5;
border: 1px solid transparent;
@if $is_highcontrast {
border-color: $hc_inset_color;
}
}
// drag and drop indicator
.placeholder {
background-image: url("resource:///org/gnome/shell/theme/workspace-placeholder.svg");
background-size: contain;
width: 18px;
}
}
// selected indicator
.workspace-thumbnail-indicator {
border: 3px solid $selected_bg_color;
border-radius: $base_border_radius;
}

View File

@@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2017 Florian Müllner <fmuellner@gnome.org>
#
# SPDX-License-Identifier: GPL-2.0-or-later
session_desktop_base = 'gnome-classic'
session_desktops = [
@@ -46,68 +50,5 @@ configure_file(
install_dir: modedir
)
theme_sources = files(
'gnome-shell-sass/_colors.scss',
'gnome-shell-sass/_common.scss',
'gnome-shell-sass/_drawing.scss',
'gnome-shell-sass/_high-contrast-colors.scss',
'gnome-shell-sass/_widgets.scss',
'gnome-shell-sass/widgets/_a11y.scss',
'gnome-shell-sass/widgets/_app-grid.scss',
'gnome-shell-sass/widgets/_base.scss',
'gnome-shell-sass/widgets/_buttons.scss',
'gnome-shell-sass/widgets/_calendar.scss',
'gnome-shell-sass/widgets/_check-box.scss',
'gnome-shell-sass/widgets/_corner-ripple.scss',
'gnome-shell-sass/widgets/_dash.scss',
'gnome-shell-sass/widgets/_dialogs.scss',
'gnome-shell-sass/widgets/_entries.scss',
'gnome-shell-sass/widgets/_hotplug.scss',
'gnome-shell-sass/widgets/_ibus-popup.scss',
'gnome-shell-sass/widgets/_keyboard.scss',
'gnome-shell-sass/widgets/_login-lock.scss',
'gnome-shell-sass/widgets/_looking-glass.scss',
'gnome-shell-sass/widgets/_message-list.scss',
'gnome-shell-sass/widgets/_misc.scss',
'gnome-shell-sass/widgets/_notifications.scss',
'gnome-shell-sass/widgets/_osd.scss',
'gnome-shell-sass/widgets/_overview.scss',
'gnome-shell-sass/widgets/_panel.scss',
'gnome-shell-sass/widgets/_popovers.scss',
'gnome-shell-sass/widgets/_quick-settings.scss',
'gnome-shell-sass/widgets/_screenshot.scss',
'gnome-shell-sass/widgets/_scrollbars.scss',
'gnome-shell-sass/widgets/_search-entry.scss',
'gnome-shell-sass/widgets/_search-results.scss',
'gnome-shell-sass/widgets/_slider.scss',
'gnome-shell-sass/widgets/_switcher-popup.scss',
'gnome-shell-sass/widgets/_switches.scss',
'gnome-shell-sass/widgets/_window-picker.scss',
'gnome-shell-sass/widgets/_workspace-switcher.scss',
'gnome-shell-sass/widgets/_workspace-thumbnails.scss'
)
theme_data = [
'classic-process-working.svg',
'gnome-classic-high-contrast.css'
]
stylesheet = 'gnome-classic.css'
if fs.exists(stylesheet)
install_data(stylesheet, install_dir: themedir)
else
sassc = find_program('sassc', required: true)
custom_target(stylesheet,
input: fs.replace_suffix(stylesheet, '.scss'),
output: stylesheet,
depend_files: theme_sources,
command: [sassc, '-a', '@INPUT@', '@OUTPUT@'],
install: true,
install_dir: themedir
)
endif
install_data(theme_data, install_dir: themedir)
classic_override = '00_org.gnome.shell.extensions.classic.gschema.override'
install_data(classic_override, install_dir: schemadir)

1020
debian/changelog vendored Normal file

File diff suppressed because it is too large Load Diff

309
debian/control vendored Normal file
View File

@@ -0,0 +1,309 @@
Source: gnome-shell-extensions
Section: gnome
Priority: optional
Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>
Uploaders: Iain Lane <laney@debian.org>, Jeremy Bícha <jbicha@ubuntu.com>, Laurent Bigonville <bigon@debian.org>, Marco Trevisan (Treviño) <marco@ubuntu.com>
Build-Depends: debhelper-compat (= 13),
dh-sequence-gnome,
libglib2.0-bin,
meson (>= 0.58.0),
sassc
Rules-Requires-Root: no
Standards-Version: 4.7.0
Vcs-Browser: https://salsa.debian.org/gnome-team/gnome-shell-extensions
Vcs-Git: https://salsa.debian.org/gnome-team/gnome-shell-extensions.git
Homepage: https://wiki.gnome.org/Projects/GnomeShell/Extensions
Package: gnome-shell-extensions
Section: oldlibs
Architecture: all
Depends: gnome-shell-extension-apps-menu,
gnome-shell-extension-auto-move-windows,
gnome-shell-extension-drive-menu,
gnome-shell-extension-launch-new-instance,
gnome-shell-extension-light-style,
gnome-shell-extension-native-window-placement,
gnome-shell-extension-places-menu,
gnome-shell-extensions-common,
gnome-shell-extension-screenshot-window-sizer,
gnome-shell-extension-system-monitor,
gnome-shell-extension-user-theme,
gnome-shell-extension-window-list,
gnome-shell-extension-windows-navigator,
gnome-shell-extension-workspace-indicator,
${misc:Depends}
Recommends: gnome-classic
Description: Extensions to extend functionality of GNOME Shell
GNOME Shell is extensible using extensions. This package contains
all the official GNOME Shell extensions.
.
This is an empty transitional package and will likely be removed
in the future.
Package: gnome-classic
Architecture: all
Depends: fonts-cantarell,
gnome-session,
gnome-session-bin (>= 46),
gnome-session-common (>= 46),
gnome-shell-extension-apps-menu,
gnome-shell-extension-places-menu,
gnome-shell-extension-launch-new-instance,
gnome-shell-extension-window-list,
xdg-desktop-portal-gnome,
${misc:Depends}
Recommends: gnome-classic-xsession
Provides: x-session-manager
Breaks: gnome-shell-extensions (<< 47)
Replaces: gnome-shell-extensions (<< 47)
Description: Classic version of the GNOME desktop
This package contains the required components for the GNOME Classic
session, based on the GNOME Shell. It can be started from a display
manager such as GDM, and requires 3D acceleration to work properly.
.
The GNOME Shell provides core interface functions like switching
windows, launching applications or see your notifications. It takes
advantage of the capabilities of modern graphics hardware and
introduces innovative user interface concepts to provide a
delightful and easy to use experience. GNOME Shell is the defining
technology of the GNOME user experience.
.
GNOME Classic provides an alternative version of GNOME Shell that uses
more traditional design elements.
Package: gnome-classic-xsession
Architecture: all
Depends: gnome-classic,
${misc:Depends}
Provides: x-session-manager
Breaks: gnome-shell-extensions (<< 47)
Replaces: gnome-shell-extensions (<< 47)
Description: Classic version of the GNOME desktop using Xorg
This package contains the required components for the GNOME Classic on Xorg
session, based on the GNOME Shell. It can be started from a display
manager such as GDM, and requires 3D acceleration to work properly.
.
The GNOME Shell provides core interface functions like switching
windows, launching applications or see your notifications. It takes
advantage of the capabilities of modern graphics hardware and
introduces innovative user interface concepts to provide a
delightful and easy to use experience. GNOME Shell is the defining
technology of the GNOME user experience.
.
GNOME Classic provides an alternative version of GNOME Shell that uses
more traditional design elements.
Package: gnome-shell-extensions-common
Architecture: all
Depends: ${misc:Depends}
Breaks: gnome-shell-extensions (<< 47)
Replaces: gnome-shell-extensions (<< 47)
Description: common files for official GNOME Shell extensions
GNOME Shell is extensible using extensions. This package contains
common data files such as translations for the official GNOME Shell
extensions.
Package: gnome-shell-extension-apps-menu
Architecture: all
Depends: gir1.2-gmenu-3.0,
gnome-shell (<< ${gnome:NextVersion}),
gnome-shell (>= ${gnome:Version}),
gnome-shell-extensions-common (= ${source:Version}),
${misc:Depends}
Recommends: gnome-shell-extension-prefs | gnome-shell-extension-manager
Breaks: gnome-shell-extensions (<< 47)
Replaces: gnome-shell-extensions (<< 47)
Description: Category based app menu for GNOME Shell
GNOME Shell is extensible using extensions. This package contains an
official GNOME Shell extension to add a category based Apps menu
similar to what is found in classic desktops.
.
This package is part of the GNOME Classic default set of extensions.
Package: gnome-shell-extension-auto-move-windows
Architecture: all
Depends: gnome-shell (<< ${gnome:NextVersion}),
gnome-shell (>= ${gnome:Version}),
gnome-shell-extensions-common (= ${source:Version}),
${misc:Depends}
Recommends: gnome-shell-extension-prefs | gnome-shell-extension-manager
Breaks: gnome-shell-extensions (<< 47)
Replaces: gnome-shell-extensions (<< 47)
Description: GNOME Shell extension to move apps to specific workspaces
GNOME Shell is extensible using extensions. This package contains an
official GNOME Shell extension to move apps to specific workspaces when
they create windows.
Package: gnome-shell-extension-drive-menu
Architecture: all
Depends: gnome-shell (<< ${gnome:NextVersion}),
gnome-shell (>= ${gnome:Version}),
gnome-shell-extensions-common (= ${source:Version}),
${misc:Depends}
Recommends: gnome-shell-extension-prefs | gnome-shell-extension-manager
Breaks: gnome-shell-extensions (<< 47)
Replaces: gnome-shell-extensions (<< 47)
Description: Removable drive status menu for GNOME Shell
GNOME Shell is extensible using extensions. This package contains an
official GNOME Shell extension to add a status menu for accessing and
unmounting removable devices.
Package: gnome-shell-extension-launch-new-instance
Architecture: all
Depends: gnome-shell (<< ${gnome:NextVersion}),
gnome-shell (>= ${gnome:Version}),
gnome-shell-extensions-common (= ${source:Version}),
${misc:Depends}
Recommends: gnome-shell-extension-prefs | gnome-shell-extension-manager
Breaks: gnome-shell-extensions (<< 47)
Replaces: gnome-shell-extensions (<< 47)
Description: GNOME Shell extension to launch new instances of apps
GNOME Shell is extensible using extensions. This package contains an
official GNOME Shell extension to always launch a new instance of an
app when clicking in the Dash or the application view.
.
This package is part of the GNOME Classic default set of extensions.
Package: gnome-shell-extension-light-style
Architecture: all
Depends: gnome-shell (<< ${gnome:NextVersion}),
gnome-shell (>= ${gnome:Version}),
gnome-shell-extensions-common (= ${source:Version}),
${misc:Depends}
Recommends: gnome-shell-extension-prefs | gnome-shell-extension-manager
Breaks: gnome-shell-extensions (<< 47)
Replaces: gnome-shell-extensions (<< 47)
Description: GNOME Shell extension to switch the Shell to light style
GNOME Shell is extensible using extensions. This package contains an
official GNOME Shell extension to switch GNOME Shell to use a light
style instead of the default.
Package: gnome-shell-extension-native-window-placement
Architecture: all
Depends: gnome-shell (<< ${gnome:NextVersion}),
gnome-shell (>= ${gnome:Version}),
gnome-shell-extensions-common (= ${source:Version}),
${misc:Depends}
Recommends: gnome-shell-extension-prefs | gnome-shell-extension-manager
Breaks: gnome-shell-extensions (<< 47)
Replaces: gnome-shell-extensions (<< 47)
Description: GNOME Shell extension to arrange windows in a more compact way
GNOME Shell is extensible using extensions. This package contains an
official GNOME Shell extension to arrange windows in the GNOME Shell
overview in a more compact way.
Package: gnome-shell-extension-places-menu
Architecture: all
Depends: gnome-shell (<< ${gnome:NextVersion}),
gnome-shell (>= ${gnome:Version}),
gnome-shell-extensions-common (= ${source:Version}),
${misc:Depends}
Recommends: gnome-shell-extension-prefs | gnome-shell-extension-manager
Breaks: gnome-shell-extensions (<< 47)
Replaces: gnome-shell-extensions (<< 47)
Description: Places menu for GNOME Shell
GNOME Shell is extensible using extensions. This package contains an
official GNOME Shell extension to add a menu for quickly navigating to
places in the system, similar to the menu in GNOME 2.
.
This package is part of the GNOME Classic default set of extensions.
Package: gnome-shell-extension-screenshot-window-sizer
Architecture: all
Depends: gnome-shell (<< ${gnome:NextVersion}),
gnome-shell (>= ${gnome:Version}),
gnome-shell-extensions-common (= ${source:Version}),
${misc:Depends}
Recommends: gnome-shell-extension-prefs | gnome-shell-extension-manager
Breaks: gnome-shell-extensions (<< 47)
Replaces: gnome-shell-extensions (<< 47)
Description: GNOME Shell extension to resize windows for GNOME Software screenshots
GNOME Shell is extensible using extensions. This package contains an
official GNOME Shell extension to resize windows to the recommended
size for creating screenshots for use in the GNOME Software app.
Package: gnome-shell-extension-status-icons
Architecture: all
Depends: gnome-shell (<< ${gnome:NextVersion}),
gnome-shell (>= ${gnome:Version}),
gnome-shell-extensions-common (= ${source:Version}),
${misc:Depends}
Recommends: gnome-shell-extension-prefs | gnome-shell-extension-manager
Description: GNOME Shell extension to show some status icons in the top bar
GNOME Shell is extensible using extensions. This package contains an
official GNOME Shell extension to show some status icons in the top bar.
Package: gnome-shell-extension-system-monitor
Architecture: all
Depends: gir1.2-gtop-2.0,
gnome-shell (<< ${gnome:NextVersion}),
gnome-shell (>= ${gnome:Version}),
gnome-shell-extensions-common (= ${source:Version}),
${misc:Depends}
Recommends: gnome-shell-extension-prefs | gnome-shell-extension-manager
Breaks: gnome-shell-extensions (<< 47)
Replaces: gnome-shell-extensions (<< 47)
Description: Display system information in GNOME Shell status bar
GNOME Shell is extensible using extensions. This package contains an
official GNOME Shell extension to display system information such as
memory usage, cpu usage, network rates and more in the top bar.
Package: gnome-shell-extension-user-theme
Architecture: all
Depends: gnome-shell (<< ${gnome:NextVersion}),
gnome-shell (>= ${gnome:Version}),
gnome-shell-extensions-common (= ${source:Version}),
${misc:Depends}
Recommends: gnome-shell-extension-prefs | gnome-shell-extension-manager
Breaks: gnome-shell-extensions (<< 47)
Replaces: gnome-shell-extensions (<< 47)
Description: GNOME Shell extension to load alternative GNOME Shell themes
GNOME Shell is extensible using extensions. This package contains an
official GNOME Shell extension to allow switching to alternative
GNOME Shell themes.
Package: gnome-shell-extension-window-list
Architecture: all
Depends: gnome-shell (<< ${gnome:NextVersion}),
gnome-shell (>= ${gnome:Version}),
gnome-shell-extensions-common (= ${source:Version}),
${misc:Depends}
Recommends: gnome-shell-extension-prefs | gnome-shell-extension-manager
Breaks: gnome-shell-extensions (<< 47)
Replaces: gnome-shell-extensions (<< 47)
Description: GNOME Shell extension to display a window list
GNOME Shell is extensible using extensions. This package contains an
official GNOME Shell extension to display a window list at the bottom
of the screen.
.
This package is part of the GNOME Classic default set of extensions.
Package: gnome-shell-extension-windows-navigator
Architecture: all
Depends: gnome-shell (<< ${gnome:NextVersion}),
gnome-shell (>= ${gnome:Version}),
gnome-shell-extensions-common (= ${source:Version}),
${misc:Depends}
Recommends: gnome-shell-extension-prefs | gnome-shell-extension-manager
Breaks: gnome-shell-extensions (<< 47)
Replaces: gnome-shell-extensions (<< 47)
Description: GNOME Shell extension to allow keyboard selection in overlay mode
GNOME Shell is extensible using extensions. This package contains an
official GNOME Shell extension to allow keyboard selections of windows
and workspaces in overlay mode. Ctrl+number selects a workspace and
Alt+number selects a window.
Package: gnome-shell-extension-workspace-indicator
Architecture: all
Depends: gnome-shell (<< ${gnome:NextVersion}),
gnome-shell (>= ${gnome:Version}),
gnome-shell-extensions-common (= ${source:Version}),
${misc:Depends}
Recommends: gnome-shell-extension-prefs | gnome-shell-extension-manager
Breaks: gnome-shell-extensions (<< 47)
Replaces: gnome-shell-extensions (<< 47)
Description: Workspace indicator for GNOME Shell
GNOME Shell is extensible using extensions. This package contains an
official GNOME Shell extension to add an indicator to the panel to
show what workspace you are using and allow you to switch to a different
workspace.

169
debian/copyright vendored Normal file
View File

@@ -0,0 +1,169 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Source: https://download.gnome.org/sources/gnome-shell-extensions/
Files: *
Copyright: 2011-2013 Giovanni Campagna
2013-2024 Florian Müllner
2011 Iranian Free Software Users Group (IFSUG.org) translation team
2021-2022 Alexander Shopov
2011-2023 Red Hat, Inc
2013 Rosetta Contributors and Canonical Ltd
Free Software Foundation, Inc
Rūdofls Mazurs
Ville-Pekka Vainio
License: GPL-2+
Files: debian/*
Copyright: 2011 Victor Seva <linuxmaniac@torreviejawireless.org>
2011 Bilal Akhtar <bilalakhtar@ubuntu.com>
License: GPL-2+
Files: extensions/apps-menu/extension.js
Copyright: 2011 Giovanni Campagna
2011 Vamsi Krishna Brahmajosyula
2013 Debarshi Ray
2013 Florian Müllner
License: GPL-2+
Files: extensions/auto-move-windows/extension.js
Copyright: 2011 Alessandro Crismani
2011 Giovanni Campagna
2014 Florian Müllner
License: GPL-2+
Files: extensions/launch-new-instance/extension.js
Copyright: 2013 Florian Müllner
2013 Gabriel Rossetti
License: GPL-2+
Files: extensions/native-window-placement/extension.js
Copyright: 2011 Giovanni Campagna
2011 Stefano Facchini
2011 Wepmaschda
2015 Florian Müllner
License: GPL-2+
Files: extensions/places-menu/extension.js
Copyright: 2011 Giovanni Campagna
2011 Vamsi Krishna Brahmajosyula
2013 Florian Müllner
2016 Rémy Lefevre
License: GPL-2+
Files: extensions/places-menu/placeDisplay.js
Copyright: 2012 Giovanni Campagna
2013 Debarshi Ray
2015 Florian Müllner
2016 Rémy Lefevre
2017 Christian Kellner
License: GPL-2+
Files: extensions/screenshot-window-sizer/extension.js
Copyright: 2013 Owen Taylor
2013 Richard Hughes
2014 Florian Müllner
2016 Will Thompson
2017 Florian Müllner
2019 Adrien Plazas
2019 Willy Stadnick
License: GPL-2+
Files: extensions/status-icons/extension.js
Copyright: 2018 Adel Gadllah
2018 Florian Müllner
License: GPL-2+
Files: extensions/system-monitor/icons/*
Copyright: GNOME Design Team Icon Development Kit
License: CC0-1.0
Files: extensions/user-theme/extension.js
Copyright: 2011 Elad Alfassa
2011 Giovanni Campagna
2011 John Stowers
2014 Florian Müllner
License: GPL-2+
Files: extensions/window-list/prefs.js
Copyright: 2013 Florian Müllner
2014 Sylvain Pasche
License: GPL-2+
Files: extensions/window-list/stylesheet-light.css
extensions/workspace-indicator/stylesheet-light.css
Copyright: 2011-2013 Giovanni Campagna
2013-2024 Florian Müllner
License: GPL-2+
Files: extensions/windowsNavigator/extension.js
Copyright: 2011 Giovanni Campagna
2011, Maxim Ermilov
2017, Florian Müllner
2019, Marco Trevisan (Treviño)
2020, Thun Pin
License: GPL-2+
Files: extensions/windowsNavigator/stylesheet.css
Copyright: 2011 Maxim Ermilov
License: GPL-2+
Files: extensions/workspace-indicator/stylesheet-dark.css
Copyright: 2011 Erick Pérez Castellanos
2019 Florian Müllner
License: GPL-2+
Files: lint/eslintrc-gjs.yml
Copyright: 2018 Claudio André
License: Expat
Files: lint/eslintrc-shell.yml
Copyright: 2019 Florian Müllner
License: Expat
Files: meson/session-post-install.py
Copyright: 2021, Neal Gompa
License: GPL-2+
License: CC0-1.0
To the extent possible under law, the author(s) have dedicated all copyright
and related and neighboring rights to this software to the public domain
worldwide. This software is distributed without any warranty.
.
You should have received a copy of the CC0 Public Domain Dedication along with
this software. If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.
.
On Debian systems, the complete text of the CC0 1.0 Universal license can be
found in "/usr/share/common-licenses/CC0-1.0".
License: Expat
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
License: GPL-2+
This package is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
.
This package is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
.
On Debian systems, the complete text of the GNU General
Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".

2
debian/docs vendored Normal file
View File

@@ -0,0 +1,2 @@
NEWS
README.md

17
debian/gbp.conf vendored Normal file
View File

@@ -0,0 +1,17 @@
[DEFAULT]
pristine-tar = True
debian-branch = debian/latest
upstream-branch = upstream/latest
[buildpackage]
sign-tags = True
[dch]
multimaint-merge = True
[import-orig]
postimport = dch -v%(version)s New upstream release; git add debian/changelog; debcommit
upstream-vcs-tag = %(version%~%.)s
[pq]
patch-numbers = False

1
debian/gnome-classic-xsession.install vendored Normal file
View File

@@ -0,0 +1 @@
usr/share/xsessions

4
debian/gnome-classic.install vendored Normal file
View File

@@ -0,0 +1,4 @@
debian/local/gnome-session-classic usr/bin
usr/share/glib-2.0/schemas/00_org.gnome.shell.extensions.classic.gschema.override
usr/share/gnome-shell/modes/classic.json
usr/share/wayland-sessions

View File

@@ -0,0 +1,2 @@
usr/share/glib-2.0/schemas/org.gnome.shell.extensions.apps-menu.gschema.xml
usr/share/gnome-shell/extensions/apps-menu@gnome-shell-extensions.gcampax.github.com

View File

@@ -0,0 +1,2 @@
usr/share/glib-2.0/schemas/org.gnome.shell.extensions.auto-move-windows.gschema.xml
usr/share/gnome-shell/extensions/auto-move-windows@gnome-shell-extensions.gcampax.github.com

View File

@@ -0,0 +1 @@
usr/share/gnome-shell/extensions/drive-menu@gnome-shell-extensions.gcampax.github.com

View File

@@ -0,0 +1 @@
usr/share/gnome-shell/extensions/launch-new-instance@gnome-shell-extensions.gcampax.github.com

View File

@@ -0,0 +1 @@
usr/share/gnome-shell/extensions/light-style@gnome-shell-extensions.gcampax.github.com

View File

@@ -0,0 +1,2 @@
usr/share/glib-2.0/schemas/org.gnome.shell.extensions.native-window-placement.gschema.xml
usr/share/gnome-shell/extensions/native-window-placement@gnome-shell-extensions.gcampax.github.com

View File

@@ -0,0 +1 @@
usr/share/gnome-shell/extensions/places-menu@gnome-shell-extensions.gcampax.github.com

View File

@@ -0,0 +1,2 @@
usr/share/glib-2.0/schemas/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml
usr/share/gnome-shell/extensions/screenshot-window-sizer@gnome-shell-extensions.gcampax.github.com

View File

@@ -0,0 +1 @@
usr/share/gnome-shell/extensions/status-icons@gnome-shell-extensions.gcampax.github.com

View File

@@ -0,0 +1,2 @@
usr/share/glib-2.0/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml
usr/share/gnome-shell/extensions/system-monitor@gnome-shell-extensions.gcampax.github.com

View File

@@ -0,0 +1,2 @@
usr/share/glib-2.0/schemas/org.gnome.shell.extensions.user-theme.gschema.xml
usr/share/gnome-shell/extensions/user-theme@gnome-shell-extensions.gcampax.github.com

View File

@@ -0,0 +1,2 @@
usr/share/glib-2.0/schemas/org.gnome.shell.extensions.window-list.gschema.xml
usr/share/gnome-shell/extensions/window-list@gnome-shell-extensions.gcampax.github.com

View File

@@ -0,0 +1 @@
usr/share/gnome-shell/extensions/windowsNavigator@gnome-shell-extensions.gcampax.github.com

View File

@@ -0,0 +1,2 @@
usr/share/glib-2.0/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml
usr/share/gnome-shell/extensions/workspace-indicator@gnome-shell-extensions.gcampax.github.com

View File

@@ -0,0 +1 @@
usr/share/locale

2
debian/local/gnome-session-classic vendored Executable file
View File

@@ -0,0 +1,2 @@
#! /bin/sh
env GNOME_SHELL_SESSION_MODE=classic gnome-session "$@"

11
debian/rules vendored Executable file
View File

@@ -0,0 +1,11 @@
#!/usr/bin/make -f
%:
dh $@
override_dh_auto_configure:
dh_auto_configure -- \
-Dextension_set=all \
-Dclassic_mode=true
override_dh_gnome_clean:

1
debian/source/format vendored Normal file
View File

@@ -0,0 +1 @@
3.0 (quilt)

5
debian/upstream/metadata vendored Normal file
View File

@@ -0,0 +1,5 @@
---
Bug-Database: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues
Bug-Submit: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/new
Repository: https://gitlab.gnome.org/GNOME/gnome-shell-extensions.git
Repository-Browse: https://gitlab.gnome.org/GNOME/gnome-shell-extensions

4
debian/watch vendored Normal file
View File

@@ -0,0 +1,4 @@
version=4
opts="searchmode=plain, uversionmangle=s/\.(alpha|beta|rc)/~$1/, downloadurlmangle=s|cache.json||" \
https://download.gnome.org/sources/@PACKAGE@/cache.json \
[\d.]+/@PACKAGE@-([\d.]+\.?(?:beta|rc)?[\d.]*)@ARCHIVE_EXT@

View File

@@ -1,5 +1,9 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2017 Florian Müllner <fmuellner@gnome.org>
#
# SPDX-License-Identifier: GPL-2.0-or-later
srcdir=`dirname $0`
srcdir=`(cd $srcdir && pwd)`
@@ -35,7 +39,9 @@ for f in $extensiondir/*; do
fi
cp $srcdir/NEWS $srcdir/COPYING $f
sources=(NEWS COPYING $(cd $f; ls *.js))
sources=(NEWS COPYING $(cd $f; ls *.js *.css 2>/dev/null))
[ -d $f/icons ] && sources+=(icons)
[ -f $schema ] || unset schema

View File

@@ -1,18 +1,29 @@
// SPDX-FileCopyrightText: 2011 Vamsi Krishna Brahmajosyula <vamsikrishna.brahmajosyula@gmail.com>
// SPDX-FileCopyrightText: 2011 Giovanni Campagna <gcampagna@src.gnome.org>
// SPDX-FileCopyrightText: 2013 Debarshi Ray <debarshir@gnome.org>
// SPDX-FileCopyrightText: 2013 Florian Müllner <fmuellner@gnome.org>
//
// SPDX-License-Identifier: GPL-2.0-or-later
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
/* exported init enable disable */
import Atk from 'gi://Atk';
import Clutter from 'gi://Clutter';
import Gio from 'gi://Gio';
import GLib from 'gi://GLib';
import GMenu from 'gi://GMenu';
import GObject from 'gi://GObject';
import Gtk from 'gi://Gtk';
import Meta from 'gi://Meta';
import Shell from 'gi://Shell';
import St from 'gi://St';
import {EventEmitter} from 'resource:///org/gnome/shell/misc/signals.js';
const {
Atk, Clutter, Gio, GLib, GMenu, GObject, Gtk, Meta, Shell, St,
} = imports.gi;
const {EventEmitter} = imports.misc.signals;
import {Extension, gettext as _} from 'resource:///org/gnome/shell/extensions/extension.js';
const DND = imports.ui.dnd;
const ExtensionUtils = imports.misc.extensionUtils;
const Main = imports.ui.main;
const PanelMenu = imports.ui.panelMenu;
const PopupMenu = imports.ui.popupMenu;
const _ = ExtensionUtils.gettext;
import * as DND from 'resource:///org/gnome/shell/ui/dnd.js';
import * as Main from 'resource:///org/gnome/shell/ui/main.js';
import * as PanelMenu from 'resource:///org/gnome/shell/ui/panelMenu.js';
import * as PopupMenu from 'resource:///org/gnome/shell/ui/popupMenu.js';
const appSys = Shell.AppSystem.get_default();
@@ -46,11 +57,8 @@ class ApplicationMenuItem extends PopupMenu.PopupBaseMenuItem {
this.label_actor = appLabel;
let textureCache = St.TextureCache.get_default();
let iconThemeChangedId = textureCache.connect('icon-theme-changed',
this._updateIcon.bind(this));
this.connect('destroy', () => {
textureCache.disconnect(iconThemeChangedId);
});
textureCache.connectObject('icon-theme-changed',
() => this._updateIcon(), this);
this._updateIcon();
this._delegate = this;
@@ -117,7 +125,10 @@ class CategoryMenuItem extends PopupMenu.PopupBaseMenuItem {
else
name = _('Favorites');
this.add_child(new St.Label({text: name}));
const label = new St.Label({text: name});
this.add_child(label);
this.actor.label_actor = label;
this.connect('motion-event', this._onMotionEvent.bind(this));
this.connect('notify::active', this._onActiveChanged.bind(this));
}
@@ -206,9 +217,9 @@ class CategoryMenuItem extends PopupMenu.PopupBaseMenuItem {
this._grab?.dismiss();
delete this._grab;
let source = event.get_source();
if (source instanceof St.Widget)
source.sync_hover();
const targetActor = global.stage.get_event_actor(event);
if (targetActor instanceof St.Widget)
targetActor.sync_hover();
return false;
}
@@ -247,7 +258,7 @@ class DesktopTarget extends EventEmitter {
this._desktopDestroyedId = 0;
this._windowAddedId =
global.window_group.connect('actor-added',
global.window_group.connect('child-added',
this._onWindowAdded.bind(this));
global.get_window_actors().forEach(a => {
@@ -269,9 +280,7 @@ class DesktopTarget extends EventEmitter {
_setDesktop(desktop) {
if (this._desktop) {
this._desktop.disconnect(this._desktopDestroyedId);
this._desktopDestroyedId = 0;
this._desktop.disconnectObject(this);
delete this._desktop._delegate;
}
@@ -279,9 +288,9 @@ class DesktopTarget extends EventEmitter {
this.emit('desktop-changed');
if (this._desktop) {
this._desktopDestroyedId = this._desktop.connect('destroy', () => {
this._desktop.connectObject('destroy', () => {
this._setDesktop(null);
});
}, this);
this._desktop._delegate = this;
}
}
@@ -321,10 +330,7 @@ class DesktopTarget extends EventEmitter {
}
destroy() {
if (this._windowAddedId)
global.window_group.disconnect(this._windowAddedId);
this._windowAddedId = 0;
global.window_group.disconnectObject(this);
this._setDesktop(null);
}
@@ -360,6 +366,20 @@ class DesktopTarget extends EventEmitter {
}
}
class MainLayout extends Clutter.BoxLayout {
static {
GObject.registerClass(this);
}
vfunc_get_preferred_height(container, forWidth) {
const [mainChild] = container;
const [minHeight, natHeight] =
mainChild.get_preferred_height(forWidth);
return [minHeight, natHeight + MENU_HEIGHT_OFFSET];
}
}
class ApplicationsButton extends PanelMenu.Button {
static {
GObject.registerClass(this);
@@ -377,24 +397,23 @@ class ApplicationsButton extends PanelMenu.Button {
this.accessible_role = Atk.Role.LABEL;
this._label = new St.Label({
text: _('Applications'),
text: _('Apps'),
y_expand: true,
y_align: Clutter.ActorAlign.CENTER,
});
this.add_actor(this._label);
this.add_child(this._label);
this.name = 'panelApplications';
this.label_actor = this._label;
this._showingId = Main.overview.connect('showing', () => {
this.add_accessible_state(Atk.StateType.CHECKED);
});
this._hidingId = Main.overview.connect('hiding', () => {
this.remove_accessible_state(Atk.StateType.CHECKED);
});
Main.overview.connectObject(
'showing', () => this.add_accessible_state(Atk.StateType.CHECKED),
'hiding', () => this.remove_accessible_state(Atk.StateType.CHECKED),
this);
Main.wm.addKeybinding(
'apps-menu-toggle-menu',
ExtensionUtils.getSettings(),
Extension.lookupByURL(import.meta.url).getSettings(),
Meta.KeyBindingFlags.IGNORE_AUTOREPEAT,
Shell.ActionMode.NORMAL | Shell.ActionMode.OVERVIEW,
() => this.menu.toggle());
@@ -410,15 +429,15 @@ class ApplicationsButton extends PanelMenu.Button {
});
this._tree = new GMenu.Tree({menu_basename: 'applications.menu'});
this._treeChangedId = this._tree.connect('changed',
this._onTreeChanged.bind(this));
this._tree.connectObject('changed',
() => this._onTreeChanged(), this);
this._applicationsButtons = new Map();
this.reloadFlag = false;
this._createLayout();
this._display();
this._installedChangedId = appSys.connect('installed-changed',
this._onTreeChanged.bind(this));
appSys.connectObject('installed-changed',
() => this._onTreeChanged(), this);
}
_onTreeChanged() {
@@ -430,23 +449,10 @@ class ApplicationsButton extends PanelMenu.Button {
}
}
_createVertSeparator() {
let separator = new St.DrawingArea({
style_class: 'calendar-vertical-separator',
pseudo_class: 'highlighted',
});
separator.connect('repaint', this._onVertSepRepaint.bind(this));
return separator;
}
_onDestroy() {
super._onDestroy();
Main.overview.disconnect(this._showingId);
Main.overview.disconnect(this._hidingId);
appSys.disconnect(this._installedChangedId);
this._tree.disconnect(this._treeChangedId);
this._tree = null;
delete this._tree;
Main.wm.removeKeybinding('apps-menu-toggle-menu');
@@ -464,21 +470,6 @@ class ApplicationsButton extends PanelMenu.Button {
return super._onMenuKeyPress(actor, event);
}
_onVertSepRepaint(area) {
let cr = area.get_context();
let themeNode = area.get_theme_node();
let [width, height] = area.get_surface_size();
let stippleColor = themeNode.get_color('-stipple-color');
let stippleWidth = themeNode.get_length('-stipple-width');
let x = Math.floor(width / 2) + 0.5;
cr.moveTo(x, 0);
cr.lineTo(x, height);
Clutter.cairo_set_source_color(cr, stippleColor);
cr.setDash([1, 3], 1); // Hard-code for now
cr.setLineWidth(stippleWidth);
cr.stroke();
}
_onOpenStateChanged(menu, open) {
if (open) {
if (this.reloadFlag) {
@@ -524,7 +515,7 @@ class ApplicationsButton extends PanelMenu.Button {
}
scrollToButton(button) {
let appsScrollBoxAdj = this.applicationsScrollBox.get_vscroll_bar().get_adjustment();
let appsScrollBoxAdj = this.applicationsScrollBox.get_vadjustment();
let appsScrollBoxAlloc = this.applicationsScrollBox.get_allocation_box();
let currentScrollValue = appsScrollBoxAdj.get_value();
let boxHeight = appsScrollBoxAlloc.y2 - appsScrollBoxAlloc.y1;
@@ -539,7 +530,7 @@ class ApplicationsButton extends PanelMenu.Button {
}
scrollToCatButton(button) {
let catsScrollBoxAdj = this.categoriesScrollBox.get_vscroll_bar().get_adjustment();
let catsScrollBoxAdj = this.categoriesScrollBox.get_vadjustment();
let catsScrollBoxAlloc = this.categoriesScrollBox.get_allocation_box();
let currentScrollValue = catsScrollBoxAdj.get_value();
let boxHeight = catsScrollBoxAlloc.y2 - catsScrollBoxAlloc.y1;
@@ -556,43 +547,29 @@ class ApplicationsButton extends PanelMenu.Button {
_createLayout() {
let section = new PopupMenu.PopupMenuSection();
this.menu.addMenuItem(section);
this.mainBox = new St.BoxLayout({vertical: false});
this.mainBox = new St.BoxLayout({layoutManager: new MainLayout()});
this.leftBox = new St.BoxLayout({vertical: true});
this.applicationsScrollBox = new St.ScrollView({
style_class: 'apps-menu vfade',
x_expand: true,
});
this.applicationsScrollBox.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC);
let vscroll = this.applicationsScrollBox.get_vscroll_bar();
vscroll.connect('scroll-start', () => {
this.menu.passEvents = true;
});
vscroll.connect('scroll-stop', () => {
this.menu.passEvents = false;
});
this.categoriesScrollBox = new St.ScrollView({
style_class: 'vfade',
});
this.categoriesScrollBox.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC);
vscroll = this.categoriesScrollBox.get_vscroll_bar();
vscroll.connect('scroll-start', () => (this.menu.passEvents = true));
vscroll.connect('scroll-stop', () => (this.menu.passEvents = false));
this.leftBox.add_child(this.categoriesScrollBox);
this.applicationsBox = new St.BoxLayout({vertical: true});
this.applicationsScrollBox.add_actor(this.applicationsBox);
this.applicationsScrollBox.set_child(this.applicationsBox);
this.categoriesBox = new St.BoxLayout({vertical: true});
this.categoriesScrollBox.add_actor(this.categoriesBox);
this.categoriesScrollBox.set_child(this.categoriesBox);
this.mainBox.add(this.leftBox);
this.mainBox.add_child(this._createVertSeparator());
this.mainBox.add_child(this.leftBox);
this.mainBox.add_child(this.applicationsScrollBox);
section.actor.add_actor(this.mainBox);
section.actor.add_child(this.mainBox);
}
_display() {
this._applicationsButtons.clear();
this.mainBox.style = 'width: 35em;';
this.mainBox.hide();
// Load categories
@@ -600,7 +577,7 @@ class ApplicationsButton extends PanelMenu.Button {
this._tree.load_sync();
let root = this._tree.get_root_directory();
let categoryMenuItem = new CategoryMenuItem(this, null);
this.categoriesBox.add_actor(categoryMenuItem);
this.categoriesBox.add_child(categoryMenuItem);
let iter = root.iter();
let nextType;
while ((nextType = iter.next()) !== GMenu.TreeItemType.INVALID) {
@@ -616,18 +593,12 @@ class ApplicationsButton extends PanelMenu.Button {
this._loadCategory(categoryId, dir);
if (this.applicationsByCategory[categoryId].length > 0) {
categoryMenuItem = new CategoryMenuItem(this, dir);
this.categoriesBox.add_actor(categoryMenuItem);
this.categoriesBox.add_child(categoryMenuItem);
}
}
// Load applications
this._displayButtons(this._listApplications(null));
let themeContext = St.ThemeContext.get_for_stage(global.stage);
let scaleFactor = themeContext.scale_factor;
let categoriesHeight = this.categoriesBox.height / scaleFactor;
let height = Math.round(categoriesHeight) + MENU_HEIGHT_OFFSET;
this.mainBox.style += `height: ${height}px`;
}
selectCategory(dir) {
@@ -635,7 +606,7 @@ class ApplicationsButton extends PanelMenu.Button {
if (c._delegate instanceof PopupMenu.PopupSeparatorMenuItem)
c._delegate.destroy();
else
this.applicationsBox.remove_actor(c);
this.applicationsBox.remove_child(c);
});
if (dir)
@@ -658,7 +629,7 @@ class ApplicationsButton extends PanelMenu.Button {
this._applicationsButtons.set(app, item);
}
if (!item.get_parent())
this.applicationsBox.add_actor(item);
this.applicationsBox.add_child(item);
}
}
@@ -677,22 +648,17 @@ class ApplicationsButton extends PanelMenu.Button {
}
}
let appsMenuButton;
export default class AppsMenuExtension extends Extension {
enable() {
this._appsMenuButton = new ApplicationsButton();
const index = Main.sessionMode.panel.left.indexOf('activities') + 1;
Main.panel.addToStatusArea(
'apps-menu', this._appsMenuButton, index, 'left');
}
/** */
function enable() {
appsMenuButton = new ApplicationsButton();
let index = Main.sessionMode.panel.left.indexOf('activities') + 1;
Main.panel.addToStatusArea('apps-menu', appsMenuButton, index, 'left');
}
/** */
function disable() {
Main.panel.menuManager.removeMenu(appsMenuButton.menu);
appsMenuButton.destroy();
}
/** */
function init() {
ExtensionUtils.initTranslations();
disable() {
Main.panel.menuManager.removeMenu(this._appsMenuButton.menu);
this._appsMenuButton.destroy();
delete this._appsMenuButton;
}
}

View File

@@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2017 Florian Müllner <fmuellner@gnome.org>
#
# SPDX-License-Identifier: GPL-2.0-or-later
extension_data += configure_file(
input: metadata_name + '.in',
output: metadata_name,

View File

@@ -3,8 +3,8 @@
"uuid": "@uuid@",
"settings-schema": "@gschemaname@",
"gettext-domain": "@gettext_domain@",
"name": "Applications Menu",
"description": "Add a category-based menu for applications.\nThis extension is part of Classic Mode and is officially supported by GNOME. Please do not report bugs using the form below, use GNOME's GitLab instance instead.",
"name": "Apps Menu",
"description": "Add a category-based menu for apps.\nThis extension is part of Classic Mode and is officially supported by GNOME. Please do not report bugs using the form below, use GNOME's GitLab instance instead.",
"original-authors": [ "e2002@bk.ru", "debarshir@gnome.org" ],
"shell-version": [ "@shell_current@" ],
"url": "@url@"

View File

@@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2021 Florian Müllner <fmuellner@gnome.org>
SPDX-License-Identifier: GPL-2.0-or-later
-->
<schemalist gettext-domain="gnome-shell-extensions">
<schema id="org.gnome.shell.extensions.apps-menu"
path="/org/gnome/shell/extensions/apps-menu/">

View File

@@ -1,3 +1,11 @@
/*
* SPDX-FileCopyrightText: 2013 Florian Müllner <fmuellner@gnome.org>
*
* SPDX-License-Identifier: GPL-2.0-or-later
*/
.apps-menu {width: 26em;}
.apps-menu:ltr {
padding-right: 3px;
}

View File

@@ -1,24 +1,29 @@
// SPDX-FileCopyrightText: 2011 Giovanni Campagna <gcampagna@src.gnome.org>
// SPDX-FileCopyrightText: 2011 Alessandro Crismani <alessandro.crismani@gmail.com>
// SPDX-FileCopyrightText: 2014 Florian Müllner <fmuellner@gnome.org>
//
// SPDX-License-Identifier: GPL-2.0-or-later
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
// Start apps on custom workspaces
/* exported init enable disable */
const {Shell} = imports.gi;
import Shell from 'gi://Shell';
const ExtensionUtils = imports.misc.extensionUtils;
const Main = imports.ui.main;
import {Extension} from 'resource:///org/gnome/shell/extensions/extension.js';
import * as Main from 'resource:///org/gnome/shell/ui/main.js';
class WindowMover {
constructor() {
this._settings = ExtensionUtils.getSettings();
constructor(settings) {
this._settings = settings;
this._appSystem = Shell.AppSystem.get_default();
this._appConfigs = new Map();
this._appData = new Map();
this._appsChangedId =
this._appSystem.connect('installed-changed',
this._updateAppData.bind(this));
this._appSystem.connectObject('installed-changed',
() => this._updateAppData(), this);
this._settings.connect('changed', this._updateAppConfigs.bind(this));
this._settings.connectObject('changed',
this._updateAppConfigs.bind(this), this);
this._updateAppConfigs();
}
@@ -38,7 +43,7 @@ class WindowMover {
let removedApps = [...this._appData.keys()]
.filter(a => !ids.includes(a.id));
removedApps.forEach(app => {
app.disconnect(this._appData.get(app).windowsChangedId);
app.disconnectObject(this);
this._appData.delete(app);
});
@@ -46,26 +51,16 @@ class WindowMover {
.map(id => this._appSystem.lookup_app(id))
.filter(app => app && !this._appData.has(app));
addedApps.forEach(app => {
let data = {
windowsChangedId: app.connect('windows-changed',
this._appWindowsChanged.bind(this)),
moveWindowsId: 0,
windows: app.get_windows(),
};
this._appData.set(app, data);
app.connectObject('windows-changed',
this._appWindowsChanged.bind(this), this);
this._appData.set(app, {windows: app.get_windows()});
});
}
destroy() {
if (this._appsChangedId) {
this._appSystem.disconnect(this._appsChangedId);
this._appsChangedId = 0;
}
if (this._settings) {
this._settings.run_dispose();
this._settings = null;
}
this._appSystem.disconnectObject(this);
this._settings.disconnectObject(this);
this._settings = null;
this._appConfigs.clear();
this._updateAppData();
@@ -105,47 +100,41 @@ class WindowMover {
}
}
let prevCheckWorkspaces;
let winMover;
/** */
function init() {
ExtensionUtils.initTranslations();
}
/**
* @returns {bool} - false (used as MetaLater handler)
*/
function myCheckWorkspaces() {
let keepAliveWorkspaces = [];
let foundNonEmpty = false;
for (let i = this._workspaces.length - 1; i >= 0; i--) {
if (!foundNonEmpty) {
foundNonEmpty = this._workspaces[i].list_windows().some(
w => !w.is_on_all_workspaces());
} else if (!this._workspaces[i]._keepAliveId) {
keepAliveWorkspaces.push(this._workspaces[i]);
}
export default class AutoMoveExtension extends Extension {
enable() {
this._prevCheckWorkspaces = Main.wm._workspaceTracker._checkWorkspaces;
Main.wm._workspaceTracker._checkWorkspaces =
this._getCheckWorkspaceOverride(this._prevCheckWorkspaces);
this._windowMover = new WindowMover(this.getSettings());
}
// make sure the original method only removes empty workspaces at the end
keepAliveWorkspaces.forEach(ws => (ws._keepAliveId = 1));
prevCheckWorkspaces.call(this);
keepAliveWorkspaces.forEach(ws => delete ws._keepAliveId);
disable() {
Main.wm._workspaceTracker._checkWorkspaces = this._prevCheckWorkspaces;
this._windowMover.destroy();
delete this._windowMover;
}
return false;
}
/** */
function enable() {
prevCheckWorkspaces = Main.wm._workspaceTracker._checkWorkspaces;
Main.wm._workspaceTracker._checkWorkspaces = myCheckWorkspaces;
winMover = new WindowMover();
}
/** */
function disable() {
Main.wm._workspaceTracker._checkWorkspaces = prevCheckWorkspaces;
winMover.destroy();
_getCheckWorkspaceOverride(originalMethod) {
/* eslint-disable no-invalid-this */
return function () {
const keepAliveWorkspaces = [];
let foundNonEmpty = false;
for (let i = this._workspaces.length - 1; i >= 0; i--) {
if (!foundNonEmpty) {
foundNonEmpty = this._workspaces[i].list_windows().some(
w => !w.is_on_all_workspaces());
} else if (!this._workspaces[i]._keepAliveId) {
keepAliveWorkspaces.push(this._workspaces[i]);
}
}
// make sure the original method only removes empty workspaces at the end
keepAliveWorkspaces.forEach(ws => (ws._keepAliveId = 1));
originalMethod.call(this);
keepAliveWorkspaces.forEach(ws => delete ws._keepAliveId);
return false;
};
/* eslint-enable no-invalid-this */
}
}

View File

@@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2017 Florian Müllner <fmuellner@gnome.org>
#
# SPDX-License-Identifier: GPL-2.0-or-later
extension_data += configure_file(
input: metadata_name + '.in',
output: metadata_name,

View File

@@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2016 Florian Müllner <fmuellner@gnome.org>
SPDX-License-Identifier: GPL-2.0-or-later
-->
<schemalist gettext-domain="gnome-shell-extensions">
<schema id="org.gnome.shell.extensions.auto-move-windows" path="/org/gnome/shell/extensions/auto-move-windows/">
<key name="application-list" type="as">

View File

@@ -1,12 +1,18 @@
// SPDX-FileCopyrightText: 2012 Giovanni Campagna <gcampagna@src.gnome.org>
// SPDX-FileCopyrightText: 2014 Florian Müllner <fmuellner@gnome.org>
//
// SPDX-License-Identifier: GPL-2.0-or-later
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
// Start apps on custom workspaces
/* exported init buildPrefsWidget */
const {Adw, Gio, GLib, GObject, Gtk} = imports.gi;
import Adw from 'gi://Adw';
import Gio from 'gi://Gio';
import GLib from 'gi://GLib';
import GObject from 'gi://GObject';
import Gtk from 'gi://Gtk';
const ExtensionUtils = imports.misc.extensionUtils;
const _ = ExtensionUtils.gettext;
import {ExtensionPreferences, gettext as _} from 'resource:///org/gnome/Shell/Extensions/js/extensions/prefs.js';
const SETTINGS_KEY = 'application-list';
@@ -59,13 +65,14 @@ class RulesList extends GObject.Object {
GObject.registerClass(this);
}
#settings = ExtensionUtils.getSettings();
#settings;
#rules = [];
#changedId;
constructor() {
constructor(settings) {
super();
this.#settings = settings;
this.#changedId =
this.#settings.connect(`changed::${SETTINGS_KEY}`,
() => this.#sync());
@@ -147,12 +154,13 @@ class AutoMoveSettingsWidget extends Adw.PreferencesGroup {
(self, name, param) => self._rules.changeWorkspace(...param.deepUnpack()));
}
constructor() {
constructor(settings) {
super({
title: _('Workspace Rules'),
});
this._rules = new RulesList();
this._settings = settings;
this._rules = new RulesList(this._settings);
const store = new Gio.ListStore({item_type: Gio.ListModel});
const listModel = new Gtk.FlattenListModel({model: store});
@@ -173,7 +181,7 @@ class AutoMoveSettingsWidget extends Adw.PreferencesGroup {
}
_addNewRule() {
const dialog = new NewRuleDialog(this.get_root());
const dialog = new NewRuleDialog(this.get_root(), this._settings);
dialog.connect('response', (dlg, id) => {
const appInfo = id === Gtk.ResponseType.OK
? dialog.get_widget().get_app_info() : null;
@@ -312,13 +320,13 @@ class NewRuleDialog extends Gtk.AppChooserDialog {
GObject.registerClass(this);
}
constructor(parent) {
constructor(parent, settings) {
super({
transient_for: parent,
modal: true,
});
this._settings = ExtensionUtils.getSettings();
this._settings = settings;
this.get_widget().set({
show_all: true,
@@ -338,14 +346,8 @@ class NewRuleDialog extends Gtk.AppChooserDialog {
}
}
/** */
function init() {
ExtensionUtils.initTranslations();
}
/**
* @returns {Gtk.Widget} - the prefs widget
*/
function buildPrefsWidget() {
return new AutoMoveSettingsWidget();
export default class AutoMovePrefs extends ExtensionPreferences {
getPreferencesWidget() {
return new AutoMoveSettingsWidget(this.getSettings());
}
}

Some files were not shown because too many files have changed in this diff Show More