Add magic "js " prefix to runDialog to run arbitrary JavaScript
This is useful for debugging things; e.g. you can "js Meta.quit(0)" to exit the WM, "js Shell.Global.get().<whatever>..." etc.
This commit is contained in:
parent
3b603ef7e0
commit
1cb6fc004b
@ -79,7 +79,22 @@ RunDialog.prototype = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
_run : function(command) {
|
_run : function(command) {
|
||||||
if (command == 'restart') {
|
if (command.slice(0, 3) == 'js ') {
|
||||||
|
let commandHeader = "const Clutter = imports.gi.Clutter; " +
|
||||||
|
"const GLib = imports.gi.GLib; " +
|
||||||
|
"const Gtk = imports.gi.Gtk; " +
|
||||||
|
"const Mainloop = imports.mainloop; " +
|
||||||
|
"const Meta = imports.gi.Meta; " +
|
||||||
|
"const Shell = imports.gi.Shell; " +
|
||||||
|
"const Main = imports.ui.main; ";
|
||||||
|
let cmd = commandHeader + command.substring(2);
|
||||||
|
try {
|
||||||
|
let result = eval(cmd);
|
||||||
|
log("" + result);
|
||||||
|
} catch (e) {
|
||||||
|
log(e);
|
||||||
|
}
|
||||||
|
} else if (command == 'restart') {
|
||||||
let global = Shell.Global.get();
|
let global = Shell.Global.get();
|
||||||
global.reexec_self();
|
global.reexec_self();
|
||||||
} else if (command) {
|
} else if (command) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user