| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
This would without the applied fix trigger
https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6536.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2722>
|
|
|
|
|
|
|
| |
This may not be unset in some environments, so let's override it with the
default value.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2661>
|
|
|
|
|
|
|
|
|
|
| |
Add common test environment variables to a default test setup so that they
don't need to be repeated everywhere.
Also ensures that we're always using the gsettings memory backend to never
interfere with local environment.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2661>
|
|
|
|
|
|
|
|
| |
This tests that GNOME Shell will launch sucessfully despite there being
no monitors on startup, and successfully hide and then show the
overview, once the monitor is connected.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2623>
|
|
|
|
|
|
|
| |
We currently hard code the display name, and running multiple instances
at the same time will probably just make things too slow for CI.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2623>
|
|
|
|
| |
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2557>
|
|
|
|
|
|
|
| |
Getting warnings are always bad and means something is broken, we
shouldn't pass the test suite with them.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1349>
|
|
|
|
|
|
|
|
| |
They don't measure performance, and we don't want to have to install
gnome-backgrounds, so bundle a solid color background image to use
instead.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1349>
|
|
|
|
|
|
|
|
|
| |
This test runs all of GNOME Shell using the headless backend inside a
mocked D-Bus environment. The basic test tests, well, basic things, like
the panel menu, the overview, showing the app grid view, as well as
going back to the session view.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1349>
|
|
|
|
|
|
|
| |
This adds a dbus-runner ala meta-dbus-runner.py. It extends the one used
in mutter, and adds various mocked services needed by gnome-shell.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1349>
|
|
|
|
|
|
|
|
| |
This is a shrunk copy of the accounts_service.py service previously
found in upstream python-dbusmock. It also adds parental control
properties to make GNOME Shell happy.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1349>
|
|
|
|
|
|
|
|
|
|
| |
deep_unpack() is just a backwards compability alias for deepUnpack()[1].
The new name makes it more clear that this is not a C function, start to
use it.
[1] https://gitlab.gnome.org/GNOME/gjs/-/commit/13e662a29dbc762d5f4245c504f1e058788b516e
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2416>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce a new class, EventEmitter, which implements signal
handling for pure JavaScript classes. EventEmitter still
utilizes GJS' addSignalMethods internally.
EventEmitter allows static typechecking to understand the
structure of event-emitting JS classes and makes creating
child classes simpler.
The name 'EventEmitter' mirrors a common name for this pattern
in Node and in JS libraries.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2043>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We currently assume that any '::destroy' signal on a GObject type
has the semantics of the ClutterActor/GtkWidget signal, and should
therefore result in all signals being disconnected.
But we already have a case where the assumption doesn't hold: ShellWM
uses '::destroy' for the closing animation of windows, and the ShellWM
object itself remains very valid after the emission.
So rather than making assumptions about '::destroy', check objects
against a list of destroyable types that are explicitly registered
as such.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2226>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There are cases where we want to connect to a number of signals
for the lifetime of an object, but also other signals for a
limited period (say: between show and hide).
It is currently not possible to use disconnectObject() for the
latter, because it will disconnect all signals.
To address this use case, add a small class that can be used as
a transient signal holder, while still benefiting from autocleanup
by proxying the real owner.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2221>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The module exports a `addObjectSignalMethods()` method that extends
the provided prototype with `connectObject()` and `disconnectObject()`
methods.
In its simplest form, `connectObject()` looks like the regular
`connect()` method, except for an additional parameter:
```js
this._button.connectObject('clicked',
() => this._onButtonClicked(), this);
```
The additional object can be used to disconnect all handlers on the
instance that were connected with that object, similar to
`g_signal_handlers_disconnect_by_data()` (which cannot be used
from introspection).
For objects that are subclasses of Clutter.Actor, that will happen
automatically when the actor is destroyed, similar to
`g_signal_connect_object()`.
Finally, `connectObject()` allows to conveniently connect multiple
signals at once, similar to `g_object_connect()`:
```js
this._toggleButton.connect(
'clicked', () => this._onClicked(),
'notify::checked', () => this._onChecked(), this);
```
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1953>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replace deprecated functions with their direct replacements:
- dep.get_pkgconfig_variable() → dep.get_variable()
- prg.path() → prg.full_path()
- source/build_root() → project_source/build_root()
In one case we need meson.global_source_root() that was only
added in meson 0.58, so bump the requirement to that.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2077>
|
|
|
|
| |
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2033>
|
|
|
|
|
|
|
|
|
| |
Add a function that can compare GNOME versions, including the new naming
scheme for GNOME 40 and later.
Used in https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3632
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1619>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The background-size interactive test includes a test-case which uses the
ClutterActor::paint signal to hijack the painting of the actor. We're
removing that signal from Clutter, so remove that signal handler and
paint the outer border unconditionally to mark the boundaries of the
widget (the outer border actually never worked to force the cairo/cogl
path). To fix the test, change it to not paint a border on the inner
container in the useCairo=false case, which should make sure the cogl
path gets used.
Also remove the useless useCairo argument from addTestLine().
https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1479
|
|
|
|
|
|
|
|
|
| |
Those flags were removed from Clutter since they're pretty much unused,
so remove them here, too.
See https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1245
https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1245
|
|
|
|
|
|
|
|
|
|
|
| |
Mutter and Clutter was changed to pass around the current target
framebuffer via the paint context instead of via the deprecated Cogl
framebuffer stack.
The framebuffer stack has also been removed from Cogl so change to use
the one in the paint context instead.
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/827
|
|
|
|
|
|
|
| |
Those methods have been deprecated for a long time, so
move to the drop-in replacement.
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/808
|
|
|
|
|
|
| |
The function was deprecated and has now been dropped from mutter.
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/776
|
|
|
|
|
|
|
|
|
|
| |
Remove the `this.actor = ...` and `this.actor._delegate = this` patterns in most
of classes, by inheriting all the actor container classes.
Uses interfaces when needed for making sure that multiple classes will implement
some required methods or to avoid redefining the same code multiple times.
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/559
|
|
|
|
|
|
|
|
| |
Some electron apps apparently spread those generously over their
notification text, so may sure to not include them accidentally
in URLs.
https://gitlab.gnome.org/GNOME/gnome-shell/issues/1614
|
|
|
|
|
|
| |
It is deprecated in favor of the regular GLib functions.
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/718
|
|
|
|
|
|
|
|
| |
Commit 46874eed0 accidentally changed the behavior of the function in
an incompatible way. Before addressing the actual issue, add a reproducer
to the unit tests to hopefully prevent future breakage.
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/615
|
|
|
|
|
|
|
|
|
|
| |
While we have some style inconsistencies - mostly regarding split lines,
i.e. aligning to the first arguments vs. a four-space indent - there are
a couple of places where the spacing is simply wrong. Fix those.
Spotted by eslint.
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/608
|
|
|
|
|
|
|
| |
Global grabs are being removed from Clutter in favour of input device
grabs.
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/495
|
|
|
|
|
|
| |
Spotted by eslint.
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/607
|
|
|
|
|
|
| |
This is *much* nicer than repetitive "imports.gi" lines ...
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/399
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The markup unit test currently fails with the following message:
TypeError: class heritage MessageList.Message is not an object or null
This is because MessageList imports other modules that end up importing
MessageList themselves in order to inherit from one of its classes. But
as the MessageList imports hasn't finished yet (it's still processing
its own imports), that class hasn't been defined yet.
Work around that by importing Main first, so that the importer can
process imports in a proper order.
|
|
|
|
|
|
|
|
| |
GJS added API for defining GObject classes with ES6 class syntax
last cycle, use it to port the remaining Lang.Class classes to
the new syntax.
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/361
|
|
|
|
| |
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/350
|
|
|
|
|
|
|
|
|
| |
The test doesn't look and behave like before, but they are
already broken in master anyway. This commit makes it work
without Shell.GenericContainer, but the test itself remains
to be fixed.
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/153
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The author of the original URL-matching regex warns[0] that the pattern may
cause certain regex engines to lock up with certain input, namely patterns
that contain parentheses. It turns out SpiderMonkey is affected, but rather
than switching to the author's improved version (that is still crazy), sim-
plify the pattern a bit by removing support for nested parentheses in URLs.
Even a single pair of parentheses is extremely rare, so this is unlikely to
make a noticeable difference (other than not locking up SpiderMonkey of
course) ...
[0] http://daringfireball.net/2010/07/improved_regex_for_matching_urls
|
|
|
|
|
|
|
|
|
|
|
| |
When not using arrow notation with anonymous functions, we use Lang.bind()
to bind `this` to named callbacks. However since ES5, this functionality
is already provided by Function.prototype.bind() - in fact, Lang.bind()
itself uses it when no extra arguments are specified. Just use the built-in
function directly where possible, and use arrow notation in the few places
where we pass additional arguments.
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/23
|
|
|
|
|
|
|
|
| |
Arrow notation is great, use it consistently through-out the code base
to bind `this` to anonymous functions, replacing the more overbose
Lang.bind(this, function() {}).
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/23
|
|
|
|
|
|
|
|
| |
Modern javascript has a short-hand for function properties, embrace
it for better readability and to prepare for an eventual port to
ES6 classes.
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/23
|
|
|
|
|
|
|
|
|
| |
Ever since commit e9e30138bd6 (2011!), the calendar only initialized
the header at construction time. Set an event source to trigger an
update of the content area, which is what the test is mainly intended
for.
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/38
|
|
|
|
|
|
|
| |
The Calendar module requires C_ at import time, which is only
available after Environment.init() has been called.
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/38
|
|
|
|
|
|
|
| |
Gjs now warns about excess parameters passed to functions, so don't
use Gtk.main_quit directly as signal callback.
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/38
|
|
|
|
|
|
|
| |
It is no longer supported by recent mozjs versions, so replace it with
a regular for loop to unbreak the tests.
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/38
|
|
|
|
|
|
|
| |
Mozjs made this error fatal a while ago, so those tests were broken
by gjs' JS engine updates.
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/38
|
|
|
|
|
|
|
|
|
|
|
| |
The current import rule fails in two ways:
- commit c62e7a6a moved the theme's stylesheet to the builddir
- since commit 49c4ba56, assets are addressed as resource:// URIs
Fix both issues by loading and referencing the theme resource instead
of the stylesheet itself.
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/38
|
| |
|
|
|
|
|
|
|
| |
Meson makes it easy to define unit tests, so hook up the existing
ones.
https://bugzilla.gnome.org/show_bug.cgi?id=786497
|
|
|
|
|
|
| |
Complete the switch to meson and drop autotools support ...
https://bugzilla.gnome.org/show_bug.cgi?id=785153
|
|
|
|
|
|
|
|
| |
Meson is on track to replace autotools as the build system of choice,
so support it in addition to autotools. If all goes well, we'll
eventually be able to drop the latter ...
https://bugzilla.gnome.org/show_bug.cgi?id=783229
|