.settings
data
js
man
po
src
tests
interactive
testcommon
border-image.png
face-plain.png
test.css
ui.js
unit
Makefile.am
run-test.sh.in
tools
.gitignore
.project
AUTHORS
COPYING
MAINTAINERS
Makefile.am
README
autogen.sh
configure.ac
gnome-shell.doap

ST makes use of GTK+ for input methods and for icon themes; therefore we have need to initialize GTK+ in order to test these parts of Clutter. Instead of LD_PRELOADING our module, use a separately compiled executable that links to the UI components in GNOME Shell, initializes Clutter and GTK+ and hooks them together. Getting all the symbols from St and the GUI components exported for use via GJS requires a bit of contortion: we need to actually link the St convenience library into a shared library and link the executable to that since there is no way with libtool to take a convenience library and put all its symbols into an executable --whole-archive style. https://bugzilla.gnome.org/show_bug.cgi?id=633657
19 lines
579 B
JavaScript
19 lines
579 B
JavaScript
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
|
|
|
const Clutter = imports.gi.Clutter;
|
|
const GLib = imports.gi.GLib;
|
|
const St = imports.gi.St;
|
|
const Shell = imports.gi.Shell;
|
|
|
|
const Environment = imports.ui.environment;
|
|
|
|
function init() {
|
|
Environment.init();
|
|
|
|
let stage = Clutter.Stage.get_default();
|
|
let context = St.ThemeContext.get_for_stage (stage);
|
|
let stylesheetPath = GLib.getenv("GNOME_SHELL_TESTSDIR") + "/testcommon/test.css";
|
|
let theme = new St.Theme ({ application_stylesheet: stylesheetPath });
|
|
context.set_theme (theme);
|
|
}
|